ロボットのような音声と欠けた音節が違って聞こえるのは、別の不具合だからです。ジッターはパケットの到着時刻を変え、損失はパケットがまったく届かないことを意味します。どちらも、速度テストが健全なダウンロードを示している間に起こりえます。スループットと時間どおりの配送は別のものを測っているからです。設定を変える前に、証拠と音を突き合わせてください。

遅れて届くパケットと欠けるパケットが違って聞こえる理由

メディアは一定のレートで送信側を離れ、実際のネットワークは不均一な間隔で届けます。アプリケーションは少しバッファしてそれを滑らかにし、遅延を連続性と引き換えにします。バッファを増やせば会話はもたつき、減らせば穴が現れます。再生期限を過ぎて到着したパケットは、一度も捨てられていなくても実質的に失われています。だから同じ帯域幅の二つの接続でも、まったく違う通話になるのです。

方向も重要です。受信と送信のメディアは別の経路を通ることがあり、特に片側がモバイル網にある場合は顕著です。

悪い時間帯に読むべき数値

アプリが独自の統計を提供しているならそれを使い、通話が終わった後ではなく悪い間に読みます。メディアリレーはサービスのウェブサイトとは別のホストであることが多く、ホームページへのpingは通話が使わない経路を測ってしまいます。損失率、往復時間、ジッターを別々に見て、クライアントが問題を送っているのか受けているのかを記録します。通話中のVPN再接続は三つ目の出来事として記録し、他と混ぜないでください。

統計パネルのスクリーンショットは通話の記憶より優れています。数値を後から比べられるからです。二十秒の損失率は、経路がいまパケットを落としているかは教えてくれますが、損失が突発的か、いつ始まったかは教えてくれません。

そのためには、一つの窓を判定として読むのではなく、二つ目の条件で測定を繰り返します。異なる条件で取った二つの窓は、どちらの条件もない長い窓一つより多くを語ります。

ジッターバッファが期限に何をするか

ジッターバッファは受信パケットを短時間ためて、不均一な到着、つまりRFC 3393が指標として定義する遅延変動を、規則的なクロックで再生できるようにします。バッファの大きさが再生期限を決め、その期限より遅いパケットは中身にかかわらず破棄されます。コーデックは隠せる量が異なり、欠けたフレームを補間するコーデックは一つの損失は隠せても連続した損失は隠せません。だから同じ損失率でもコーデックが違えば通話品質が変わるのです。

バッファの調整は取引であって修正ではありません。大きなバッファは会話の遅延と引き換えに連続性を買いますが、期限後に届くパケットは取り戻せません。

出口の前に無線と負荷を比べる

出口とアプリを固定し、ローカルの条件を一つずつ変えます。電波アイコンが強くても、チャネルの混雑はわかりません。問題が特定の部屋やアクセスポイントにつきまとうなら、次に調べるのは無線です。

ping -c 50 -i 0.2 203.0.113.9
mtr -rw -c 20 203.0.113.9

pingは損失数と、条件間で比べられるばらつきを与え、mtrは経路上のホップごとの損失を示します。途中のホップが失敗して後のホップが応答する場合、通常は利用者のトラフィックを落としているのではなく、ICMPの優先度を下げているだけです。制御したアップロードを流しながら両方を繰り返してください。アイドル時は良好で負荷時に使い物にならない回線は、VPNではなく待ち行列を示しています。一つの条件だけで問題が再現するなら、もう一方の条件は除外されたばかりです。

比較が支えるものだけを直す

それぞれの比較は一つの修理を支え、複数を同時に適用すると証拠が壊れます。弱いローカル経路にはより良いチャネルかEthernetが、競合するトラフィックにはスケジューリングか待ち行列の規律が、一つの悪い出口には同じ条件で別の出口を比べることが必要です。VPNのトランスポートを変えるときは、プロファイルを有効なまま保ち、変数を一つずつ変えます。速度テストのスコアが上がったかどうかで成功を判断するのではなく、通常のバックグラウンド活動とともに同じ会話を再テストします。

方向、損失、ジッター、往復時間、そしてそれぞれを測った条件を書き留めます。その記録は、通話品質に関する漠然とした不満を、誰かが行動できる知見に変えます。チケットと一緒に保管し、次の比較が同じ基準線から始まるようにしてください。

関連記事