One way audio when Kernelizing media stream

オープン
#1,840 コメント 9 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
15/100
issue の種類
バグ
明瞭さ
説明が足りない
活発さ
静か
技術スタック
c, linux, perl

調査の方向性

Reproduce the call and compare kernel mode against userspace forwarding; the /proc/rtpengine/0/list dump the reporter pasted shows 'src mismatch action: drop' on the kernel ports while the 'Kernelizing media stream' log lines mark the transition, so read how the kernel module matches source addresses and applies the PT filter and SSRC tracking there. One-way audio starts between the kernelize events (~1722008086) and the delete (~1722008090), and both call legs show it. Done means audio keeps flowing both ways after kernelization.

索引モデルが issue の本文から書いたものです。

説明

bug
rtpengine version the issue has been seen with

11.2.1.4+0~mr11.2.1.4 git-HEAD-1d93d9b4

Used distribution and its version

Ubuntu 22.04.3 LTS

Linux kernel version used

5.15.0-1048-gke

CPU architecture issue was seen on (see uname -m)

x86_64

Expected behaviour you didn't see

Audio continuing after entering kernel mode

Unexpected behaviour you saw

When kernelizing media stream happens (3-5 seconds after the call starts) one-way audio occurs.

Steps to reproduce the problem

Can reproduce on every call.

Additional program output to the terminal or logs illustrating the issue
[1722008079.782316] INFO: [1e8344c1-4aaa-43b9-af71-fada6348ef5e]: [control] Received command 'offer' from 10.128.15.217:44476
[1722008079.782391] NOTICE: [1e8344c1-4aaa-43b9-af71-fada6348ef5e]: [core] Creating new call
[1722008079.783197] INFO: [1e8344c1-4aaa-43b9-af71-fada6348ef5e]: [control] Replying to 'offer' from 10.128.15.217:44476 (elapsed time 0.000863 sec)
[1722008081.345332] INFO: [1e8344c1-4aaa-43b9-af71-fada6348ef5e]: [control] Received command 'answer' from 10.128.15.217:51727
[1722008081.346186] INFO: [1e8344c1-4aaa-43b9-af71-fada6348ef5e]: [control] Replying to 'answer' from 10.128.15.217:51727 (elapsed time 0.000832 sec)
[1722008081.531392] INFO: [1e8344c1-4aaa-43b9-af71-fada6348ef5e]: [control] Received command 'answer' from 10.128.15.217:60911
[1722008081.532306] INFO: [1e8344c1-4aaa-43b9-af71-fada6348ef5e]: [control] Replying to 'answer' from 10.128.15.217:60911 (elapsed time 0.000888 sec)
[1722008082.722700] INFO: [1e8344c1-4aaa-43b9-af71-fada6348ef5e]: [control] Received command 'answer' from 10.128.15.217:47254
[1722008082.723544] INFO: [1e8344c1-4aaa-43b9-af71-fada6348ef5e]: [control] Replying to 'answer' from 10.128.15.217:47254 (elapsed time 0.000825 sec)
[1722008086.013362] INFO: [1e8344c1-4aaa-43b9-af71-fada6348ef5e port 20138]: [core] Confirmed peer address as 216.221.155.73:34438
[1722008086.013406] INFO: [1e8344c1-4aaa-43b9-af71-fada6348ef5e port 20138]: [core] Kernelizing media stream: 216.221.155.73:34438 -> 10.206.15.219:20138 | 10.206.15.219:20158 -> 10.12.1.2:14008
[1722008086.015473] INFO: [1e8344c1-4aaa-43b9-af71-fada6348ef5e port 20158]: [core] Confirmed peer address as 10.12.1.2:14008
[1722008086.015524] INFO: [1e8344c1-4aaa-43b9-af71-fada6348ef5e port 20158]: [core] Kernelizing media stream: 10.12.1.2:14008 -> 10.206.15.219:20158 | 10.206.15.219:20138 -> 216.221.155.73:34438
[1722008086.369899] INFO: [1e8344c1-4aaa-43b9-af71-fada6348ef5e port 20159]: [core] Confirmed peer address as 10.12.1.2:14009
[1722008086.369987] INFO: [1e8344c1-4aaa-43b9-af71-fada6348ef5e port 20159]: [core] Kernelizing media stream: 10.12.1.2:14009 -> 10.206.15.219:20159 | 10.206.15.219:20139 -> 216.221.155.73:34439
[1722008090.542910] INFO: [1e8344c1-4aaa-43b9-af71-fada6348ef5e]: [control] Received command 'delete' from 10.128.15.217:41376
[1722008090.543055] INFO: [1e8344c1-4aaa-43b9-af71-fada6348ef5e]: [core] Deleting call branch 'eb131e75-9998-4894-b8b7-ef3e20446bb6' (via-branch '')
[1722008090.543066] INFO: [1e8344c1-4aaa-43b9-af71-fada6348ef5e]: [core] Removing media stream from kernel: local 10.206.15.219:20158
[1722008090.543080] INFO: [1e8344c1-4aaa-43b9-af71-fada6348ef5e]: [core] Removing media stream from kernel: local 10.206.15.219:20138
[1722008090.543087] INFO: [1e8344c1-4aaa-43b9-af71-fada6348ef5e]: [core] Removing media stream from kernel: local 10.206.15.219:20159
[1722008090.543115] INFO: [1e8344c1-4aaa-43b9-af71-fada6348ef5e]: [core] Deleting call branch 'gK0485904b' (via-branch 'z9hG4bKPj9c61272d-2cfd-4a67-a3de-c0779b4071c40')
[1722008090.543132] INFO: [1e8344c1-4aaa-43b9-af71-fada6348ef5e]: [core] Deleting entire call
[1722008090.543433] INFO: [1e8344c1-4aaa-43b9-af71-fada6348ef5e]: [core] Final packet stats:
[1722008090.543530] INFO: [1e8344c1-4aaa-43b9-af71-fada6348ef5e]: [core] --- Tag 'eb131e75-9998-4894-b8b7-ef3e20446bb6', created 0:11 ago for branch ''
[1722008090.543537] INFO: [1e8344c1-4aaa-43b9-af71-fada6348ef5e]: [core] ---     subscribed to 'gK0485904b'
[1722008090.543541] INFO: [1e8344c1-4aaa-43b9-af71-fada6348ef5e]: [core] ---     subscription for 'gK0485904b'
[1722008090.543548] INFO: [1e8344c1-4aaa-43b9-af71-fada6348ef5e]: [core] ------ Media #1 (audio over RTP/AVP) using PCMU/8000
[1722008090.543556] INFO: [1e8344c1-4aaa-43b9-af71-fada6348ef5e]: [core] --------- Port   10.206.15.219:20158 <>       10.12.1.2:14008, SSRC 67818910, in 162 p, 27864 b, 0 e, 3 ts, out 432 p, 74304 b, 0 e
[1722008090.543562] INFO: [1e8344c1-4aaa-43b9-af71-fada6348ef5e]: [core] --------- Port   10.206.15.219:20159 <>       10.12.1.2:14009 (RTCP), SSRC 67818910, in 1 p, 100 b, 0 e, 4 ts, out 0 p, 0 b, 0 e
[1722008090.543569] INFO: [1e8344c1-4aaa-43b9-af71-fada6348ef5e]: [core] --- Tag 'gK0485904b', created 0:11 ago for branch 'z9hG4bKPj9c61272d-2cfd-4a67-a3de-c0779b4071c40'
[1722008090.543572] INFO: [1e8344c1-4aaa-43b9-af71-fada6348ef5e]: [core] ---     subscribed to 'eb131e75-9998-4894-b8b7-ef3e20446bb6'
[1722008090.543575] INFO: [1e8344c1-4aaa-43b9-af71-fada6348ef5e]: [core] ---     subscription for 'eb131e75-9998-4894-b8b7-ef3e20446bb6'
[1722008090.543582] INFO: [1e8344c1-4aaa-43b9-af71-fada6348ef5e]: [core] ------ Media #1 (audio over RTP/AVP) using PCMU/8000
[1722008090.543587] INFO: [1e8344c1-4aaa-43b9-af71-fada6348ef5e]: [core] --------- Port   10.206.15.219:20138 <>  216.221.155.73:34438, SSRC 93c7fa89, in 432 p, 74304 b, 0 e, 0 ts, out 162 p, 27864 b, 0 e
[1722008090.543594] INFO: [1e8344c1-4aaa-43b9-af71-fada6348ef5e]: [core] --------- Port   10.206.15.219:20139 <>  216.221.155.73:34439 (RTCP), SSRC 0, in 0 p, 0 b, 0 e, 8 ts, out 1 p, 100 b, 0 e
[1722008090.544326] INFO: [1e8344c1-4aaa-43b9-af71-fada6348ef5e]: [control] Replying to 'delete' from 10.128.15.217:41376 (elapsed time 0.001369 sec)

Results of cat /proc/rtpengine/0/list

local inet4 10.206.15.219:20114
    expect inet4 10.12.1.2:12426
    src mismatch action: drop
    stats:                  172 bytes,                    1 packets,                    0 errors
        RTP payload type   0:                  172 bytes,                    1 packets
    SSRC in: 694544a4
    option: RTP
    option: PT filter
    option: SSRC tracking
    output #0
       src inet4 10.206.15.219:20124
       dst inet4 142.190.3.138:4012
      stats:                  172 bytes,                    1 packets,                    0 errors
local inet4 10.206.15.219:20115
    expect inet4 10.12.1.2:12427
    src mismatch action: drop
    stats:                    0 bytes,                    0 packets,                    0 errors
    SSRC in: 694544a4
    option: RTP
    option: non forwarding
    option: SSRC tracking
local inet4 10.206.15.219:20124
    expect inet4 142.190.3.138:4012
    src mismatch action: drop
    stats:                17372 bytes,                  101 packets,                    0 errors
        RTP payload type   0:                17372 bytes,                  101 packets
        RTP payload type 101:                    0 bytes,                    0 packets
    SSRC in: 728c6747
    option: RTP
    option: PT filter
    option: SSRC tracking
    output #0
       src inet4 10.206.15.219:20114
       dst inet4 10.12.1.2:12426
      stats:                17372 bytes,                  101 packets,                    0 errors
local inet4 10.206.15.219:20125
    expect inet4 142.190.3.138:4013
    src mismatch action: drop
    stats:                    0 bytes,                    0 packets,                    0 errors
    SSRC in: 728c6747
    option: RTP
    option: non forwarding
    option: SSRC tracking
local inet4 10.206.15.219:20138
    expect inet4 216.221.155.73:34438
    src mismatch action: drop
    stats:                17372 bytes,                  101 packets,                    0 errors
        RTP payload type   0:                17372 bytes,                  101 packets
    SSRC in: 93c7fa89, 282beac
    option: RTP
    option: PT filter
    option: SSRC tracking
    output #0
       src inet4 10.206.15.219:20158
       dst inet4 10.12.1.2:14008
      stats:                17372 bytes,                  101 packets,                    0 errors
local inet4 10.206.15.219:20158
    expect inet4 10.12.1.2:14008
    src mismatch action: drop
    stats:                  172 bytes,                    1 packets,                    0 errors
        RTP payload type   0:                  172 bytes,                    1 packets
    SSRC in: 67818910
    option: RTP
    option: PT filter
    option: SSRC tracking
    output #0
       src inet4 10.206.15.219:20138
       dst inet4 216.221.155.73:34438
      stats:                  172 bytes,                    1 packets,                    0 errors
local inet4 10.206.15.219:20159
    expect inet4 10.12.1.2:14009
    src mismatch action: drop
    stats:                    0 bytes,                    0 packets,                    0 errors
    SSRC in: 67818910
    option: RTP
    option: non forwarding
    option: SSRC tracking


Other leg:

[1722008079.724665] INFO: [qp1McBxQmj.TueQaVEpY0z28-pihSvFx]: [control] Received command 'offer' from 10.128.15.217:50951
[1722008079.724762] NOTICE: [qp1McBxQmj.TueQaVEpY0z28-pihSvFx]: [core] Creating new call
[1722008079.725665] INFO: [qp1McBxQmj.TueQaVEpY0z28-pihSvFx]: [control] Replying to 'offer' from 10.128.15.217:50951 (elapsed time 0.000979 sec)
[1722008082.747001] INFO: [qp1McBxQmj.TueQaVEpY0z28-pihSvFx]: [control] Received command 'answer' from 10.128.15.217:41671
[1722008082.747769] INFO: [qp1McBxQmj.TueQaVEpY0z28-pihSvFx]: [control] Replying to 'answer' from 10.128.15.217:41671 (elapsed time 0.000748 sec)
[1722008086.009228] INFO: [qp1McBxQmj.TueQaVEpY0z28-pihSvFx port 20114]: [core] Confirmed peer address as 10.12.1.2:12426
[1722008086.009307] INFO: [qp1McBxQmj.TueQaVEpY0z28-pihSvFx port 20114]: [core] Kernelizing media stream: 10.12.1.2:12426 -> 10.206.15.219:20114 | 10.206.15.219:20124 -> 142.190.3.138:4012
[1722008086.020324] INFO: [qp1McBxQmj.TueQaVEpY0z28-pihSvFx port 20124]: [core] Confirmed peer address as 142.190.3.138:4012
[1722008086.020376] INFO: [qp1McBxQmj.TueQaVEpY0z28-pihSvFx port 20124]: [core] Kernelizing media stream: 142.190.3.138:4012 -> 10.206.15.219:20124 | 10.206.15.219:20114 -> 10.12.1.2:12426
[1722008087.577916] INFO: [qp1McBxQmj.TueQaVEpY0z28-pihSvFx port 20125]: [core] Confirmed peer address as 142.190.3.138:4013
[1722008087.577987] INFO: [qp1McBxQmj.TueQaVEpY0z28-pihSvFx port 20125]: [core] Kernelizing media stream: 142.190.3.138:4013 -> 10.206.15.219:20125 | 10.206.15.219:20115 -> 10.12.1.2:12427
[1722008087.749392] INFO: [qp1McBxQmj.TueQaVEpY0z28-pihSvFx port 20115]: [core] Confirmed peer address as 10.12.1.2:12427
[1722008087.749466] INFO: [qp1McBxQmj.TueQaVEpY0z28-pihSvFx port 20115]: [core] Kernelizing media stream: 10.12.1.2:12427 -> 10.206.15.219:20115 | 10.206.15.219:20125 -> 142.190.3.138:4013
[1722008090.522533] INFO: [qp1McBxQmj.TueQaVEpY0z28-pihSvFx]: [control] Received command 'delete' from 10.128.15.217:34650
[1722008090.522659] INFO: [qp1McBxQmj.TueQaVEpY0z28-pihSvFx]: [core] Deleting call branch 'egxMm-CpY-xfSYsxYnkpndcE2V50T0.l' (via-branch '')
[1722008090.522676] INFO: [qp1McBxQmj.TueQaVEpY0z28-pihSvFx]: [core] Removing media stream from kernel: local 10.206.15.219:20124
[1722008090.522688] INFO: [qp1McBxQmj.TueQaVEpY0z28-pihSvFx]: [core] Removing media stream from kernel: local 10.206.15.219:20114
[1722008090.522697] INFO: [qp1McBxQmj.TueQaVEpY0z28-pihSvFx]: [core] Removing media stream from kernel: local 10.206.15.219:20125
[1722008090.522702] INFO: [qp1McBxQmj.TueQaVEpY0z28-pihSvFx]: [core] Removing media stream from kernel: local 10.206.15.219:20115
[1722008090.522728] INFO: [qp1McBxQmj.TueQaVEpY0z28-pihSvFx]: [core] Deleting call branch 'e283b39a-1c6e-4d2e-babb-fe4097a56ad7' (via-branch 'z9hG4bKPjgKVhXvSe3ZIa4.eraGnEQzx70swzh.W60')
[1722008090.522740] INFO: [qp1McBxQmj.TueQaVEpY0z28-pihSvFx]: [core] Deleting entire call
[1722008090.523101] INFO: [qp1McBxQmj.TueQaVEpY0z28-pihSvFx]: [core] Final packet stats:
[1722008090.523113] INFO: [qp1McBxQmj.TueQaVEpY0z28-pihSvFx]: [core] --- Tag 'egxMm-CpY-xfSYsxYnkpndcE2V50T0.l', created 0:11 ago for branch ''
[1722008090.523116] INFO: [qp1McBxQmj.TueQaVEpY0z28-pihSvFx]: [core] ---     subscribed to 'e283b39a-1c6e-4d2e-babb-fe4097a56ad7'
[1722008090.523118] INFO: [qp1McBxQmj.TueQaVEpY0z28-pihSvFx]: [core] ---     subscription for 'e283b39a-1c6e-4d2e-babb-fe4097a56ad7'
[1722008090.523124] INFO: [qp1McBxQmj.TueQaVEpY0z28-pihSvFx]: [core] ------ Media #1 (audio over RTP/AVP) using PCMU/8000
[1722008090.523138] INFO: [qp1McBxQmj.TueQaVEpY0z28-pihSvFx]: [core] --------- Port   10.206.15.219:20124 <>   142.190.3.138:4012 , SSRC 728c6747, in 361 p, 62092 b, 0 e, 0 ts, out 165 p, 28380 b, 0 e
[1722008090.523144] INFO: [qp1McBxQmj.TueQaVEpY0z28-pihSvFx]: [core] --------- Port   10.206.15.219:20125 <>   142.190.3.138:4013  (RTCP), SSRC 728c6747, in 4 p, 280 b, 0 e, 3 ts, out 1 p, 100 b, 0 e
[1722008090.523149] INFO: [qp1McBxQmj.TueQaVEpY0z28-pihSvFx]: [core] --- Tag 'e283b39a-1c6e-4d2e-babb-fe4097a56ad7', created 0:11 ago for branch 'z9hG4bKPjgKVhXvSe3ZIa4.eraGnEQzx70swzh.W60'
[1722008090.523152] INFO: [qp1McBxQmj.TueQaVEpY0z28-pihSvFx]: [core] ---     subscribed to 'egxMm-CpY-xfSYsxYnkpndcE2V50T0.l'
[1722008090.523155] INFO: [qp1McBxQmj.TueQaVEpY0z28-pihSvFx]: [core] ---     subscription for 'egxMm-CpY-xfSYsxYnkpndcE2V50T0.l'
[1722008090.523161] INFO: [qp1McBxQmj.TueQaVEpY0z28-pihSvFx]: [core] ------ Media #1 (audio over RTP/AVP) using PCMU/8000
[1722008090.523170] INFO: [qp1McBxQmj.TueQaVEpY0z28-pihSvFx]: [core] --------- Port   10.206.15.219:20114 <>       10.12.1.2:12426, SSRC 694544a4, in 165 p, 28380 b, 0 e, 3 ts, out 361 p, 62092 b, 0 e
[1722008090.523175] INFO: [qp1McBxQmj.TueQaVEpY0z28-pihSvFx]: [core] --------- Port   10.206.15.219:20115 <>       10.12.1.2:12427 (RTCP), SSRC 694544a4, in 1 p, 100 b, 0 e, 3 ts, out 4 p, 280 b, 0 e
[1722008090.523803] INFO: [qp1McBxQmj.TueQaVEpY0z28-pihSvFx]: [control] Replying to 'delete' from 10.128.15.217:34650 (elapsed time 0.001228 sec)
Anything else?

rtpengine.conf:

[rtpengine]
interface=internal/10.206.15.219;external/10.206.15.219!34.174.151.15
listen-ng=10.206.15.219:22222
foreground=true
log-stderr=true
port-min=10001
port-max=59999
recording-dir=/tmp
recording-method=pcap
recording-format=eth
log-level=5
delete-delay=0
offer-timeout=1800
final-timeout=21600
listen-http=10.206.15.219:22223
redis=10.206.15.219:6379/1
redis-connect-timeout=3000

This call is controlled by kamailio.

主要言語
Perl
スター
992
フォーク
459
PR マージ指標
30日以内にマージされた PR はありません

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

sipwise/rtpengine のほかの issue

sipwise/rtpengine の issue をすべて見る

似ている issue

Perl の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。