問題タブ [cdr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - mysql クエリ - ピーク時の同時呼び出しの CDR データ
こんにちは、MySQL に保存されている CDR の日付から、1 日に発生するピーク時の同時通話数を計算する方法について、助けが必要です。
データセットは次のようになります。
次のクエリを使用して、一意の日付ごとにいくつのエントリがあるかを計算できます。
ただし、これは、同時呼び出しの理論上のピークが実際のピークではなく、理論上のピークであることを示しているだけです。
実際のピークを取得するには、まず各通話の開始日と終了日と時間を知る必要があります。現在、開始日時は (calldate) フィールドに記録され、通話時間は (duration) フィールドに秒単位で記録されます。(duration) フィールドに格納された秒数を (calldate) フィールドに追加することで、終了時刻を計算できます。
開始時刻と終了時刻がわかったので、これらの時刻が重なるかどうか、およびその回数を計算する必要があります。このレベルの SQL クエリは、私の知識をはるかに超えています。
要約すると、MySQL クエリを使用して、MySQL に保存されている CDR データから同時呼び出しのピーク数を計算しようとしています。どんな助けでもありがたく受け取られます
サンプルデータ:
scheme - スキーム - 外括弧なしの cdr
このリストを考えてみましょう: ((3 (1 (2 15) (8 5))) (1 10))、頭と体を取得したいと思います。プロシージャ "car" は次のように機能します: (car '((3 (1 (2 15) (8 5))) (1 10))) - 最初の項目 (リスト) を返します
(3 (1 (2 15) (8 5)))
しかし、手続き "cdr: return list within another list ... (cdr '((3 (1 (2 15) (8 5))) (1 10)))
((1 10))
代わりに (1 10) が欲しいです。スキームには何らかの手順がありますか、またはそれに到達する方法を知っていますか (最初の 2 文字と最後の 2 文字が括弧であるかどうかを確認するなど)。
皆さん、ありがとうございました:)
asterisk - アスタリスク DB と h エクステンでの CDR 持続時間の差
「h」拡張機能で AGI スクリプトを使用して通話コストを計算し、それを CDR(userfield) 変数に保存しています。
問題は、CDR(duration) 変数と MySQL に保存されている値の間で期間の違いが発生することです。主に、挿入プロセスの遅延や継続時間のカウントなど、DB に保存される継続時間は変数よりも 1 ~ 2 秒長くなります。
この期間の差がある理由と、正しい方法で請求するためにそれを回避する方法を知る必要があります。
どうもありがとうございました。
hadoop - pig を使用して Hadoop で最大数を数えて見つける
その列 A と列 B にサンプルの CDR データを含むテーブルがあり、発信者と着信者の携帯電話番号があり、誰が最大通話数を持っているか (列 A) を見つける必要があり、また、どの番号 (列 B) を見つける必要があります。 ) 最も多く呼び出された
テーブル構造は以下のようなものです
呼ばれる
- 889578226 77382596
- 889582256 77382596
- 889582256 7736368296
- 7785978214 782987522
上記の表では、889578226 が最も発信コール数が多く、77382596 が最も多くコールされた番号であるため、出力を取得する必要があります。
ハイブで私は以下のように実行します
SELECT calling_a,called_b, COUNT(called_b) FROM cdr_data GROUP BY calling_a,called_b;
豚の上記のクエリと同等のコードは何ですか?
arrays - Swiftで配列の最初ではない要素にアクセスするにはどうすればよいですか?
SwiftにArray
はfirst
、配列の最初の要素 (または配列が空の場合は nil) を返す関数があります。
最初の要素なしで配列の残りを返す組み込み関数はありますか?
mysql - アスタリスク CDR を外部ホストに保存する
Asterisk の CDR を外部の mysql ホストに保存しようとしています。FreePBXの詳細設定セクションで接続の詳細を変更し、
/etc/asterisk の cdr_mysql.conf ファイルを編集しようとしましたが、FreePBX は
まだ外部の mysql ホストに接続できません。
UCP にログインしようとすると、接続文字列で DB に接続できませんでした。
FreePBX が接続しようとする文字列が間違っているようです。テスト用の .NET Web サイトをセットアップして mysql への接続を開こうとすると、動作しますが、接続文字列で別の構文を使用しているためです。
ところで、pbx マシンから外部ホストに telnet で接続できますが、これがネットワークの問題ではないことは確かです。
CDR を外部の mysql ホストに保存するにはどうすればよいですか?
**編集: 元の mysql サーバーから db 構造もコピーしたので、問題にはなりません。
ありがとう!
asterisk - Asterisk で Remote Party ID を CDR に保存する方法は?
私はアスタリスクを初めて使用するので、どんな助けでも大歓迎です。
転送された通話の CDR ログ テーブルにリモート パーティ ID (CONNECTEDLINE) を保存しようとしています。ブラインド転送では、リモート パーティ ID がsrc
フィールドの発信者 ID として取得されるため、問題はありません。
在席転送では、元の発信者 ID が失われます。
転送方法は次のとおりです。
- A が B に電話する (A が B と話している)
- BがAを抱えてCを呼ぶ(BがCと会話中)
- B が A を C に転送する (A が C と話している)
現在、CDR テーブルで 2 つのレコードを取得しています。1 つは最初の呼び出し (A<-B) 用で、もう 1 つは 2 番目の呼び出し (B<-C および A<-C) 用です。ポイントは、A への参照を失った 2 番目の CDR にあります。
2番目のCDRに相手ID(A)を保存したいです。カスタム フィールドを CDR テーブルに追加しました ( connectedID
)。
私はいくつかの設定ファイルの編集について読んでいて、この種の文を追加しています:
しかし、私はかなり迷っています。これらのコード行をファイルのどの部分に配置する必要があるかさえ、どのファイルを編集する必要があるのか わかりません。
誰かが私を正しい方向に向けることができますか?