Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

RTPEngine removing PCMU and PCMA in the SIP 200 OK answer with custom fmtp:0 vad=yes

Aperta
#1,969 4 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 2 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
25/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma

Direzione di ricerca

The payload names no files or tests; it gives a reproducible SDP offer with fmtp:0 vad=yes and the 200 OK where PCMU/PCMA rtpmap are dropped. Start by reproducing the negotiation with the provided m=audio and fmtp lines, then read the SDP codec-negotiation path in rtpengine. Done means the answer retains rtpmap:0 and rtpmap:8 when the offer includes those codecs and fmtp, including when PCMU is first.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug
rtpengine version the issue has been seen with

Version: 13.3.1.4+0~mr13.3.1.4-2.el9

Used distribution and its version

Rocky Linux 9.6 (Blue Onyx)

Linux kernel version used

5.14.0-570.23.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Jun 26 19:29:53 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

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

None

Expected behaviour you didn't see

UA offer:
v=0
o=0122 1751622076 1751622076 IN IP4 176.35.43.136
s=-
c=IN IP4 xxx.xx.xx.xxx
t=0 0
m=audio 62422 RTP/AVP 0 8 18 9 100 99 98 97 96
a=fmtp:0 vad=yes
a=fmtp:8 vad=yes
a=fmtp:18 annexb=yes
a=fmtp:9 vad=yes
a=rtpmap:100 G726-40/8000
a=fmtp:100 vad=yes
a=rtpmap:99 G726-32/8000
a=fmtp:99 vad=yes
a=rtpmap:98 G726-24/8000
a=fmtp:98 vad=yes
a=rtpmap:97 G726-16/8000
a=fmtp:97 vad=yes
a=rtpmap:96 telephone-event/8000
a=fmtp:96 0-15
a=maxptime:240
a=ptime:20

RTPEngine offer to next server
v=0
o=user1 53655765 2353687637 IN IP4 xx.xx.xxx.xx
s=-
t=0 0
m=audio 14428 RTP/AVP 0 8 18 9 100 99 98 97 96
c=IN IP4 xx.xx.xxx.xx
a=rtpmap:0 PCMU/8000
a=fmtp:0 vad=yes
a=rtpmap:8 PCMA/8000
a=fmtp:8 vad=yes
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=yes
a=rtpmap:9 G722/8000
a=fmtp:9 vad=yes
a=rtpmap:100 G726-40/8000
a=fmtp:100 vad=yes
a=rtpmap:99 G726-32/8000
a=fmtp:99 vad=yes
a=rtpmap:98 G726-24/8000
a=fmtp:98 vad=yes
a=rtpmap:97 G726-16/8000
a=fmtp:97 vad=yes
a=rtpmap:96 telephone-event/8000
a=fmtp:96 0-15
a=sendrecv
a=rtcp:14429
a=ptime:20
a=maxptime:240

Next Server SIP 200 OK response
v=0
o=XXXX 1770976398 1770976398 IN IP4 xx.xx.xxx.xxx
s=xxxx
c=IN IP4 xx.xx.xxx.xxx
t=0 0
m=audio 31674 RTP/AVP 0 8 96
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:96 telephone-event/8000
a=fmtp:96 0-16
a=ptime:20
a=sendrecv

Unexpected behaviour you saw

RTPEngine response with missing pcmu and pcma rtpmap for 200 OK
v=0
o=XXXX 2025317139 2025317139 IN IP4 xx.xx.xxx.xxx
s=xxxx
t=0 0
m=audio 44780 RTP/AVP 96
c=IN IP4 xx.xx.xxx.xxx
a=rtpmap:96 telephone-event/8000
a=fmtp:96 0-16
a=sendrecv
a=rtcp:44781
a=ptime:20

Steps to reproduce the problem

Using the following SDP shows the up issue.

m=audio 14428 RTP/AVP 0 8 18 9 100 99 98 97 96
c=IN IP4 xx.xx.xxx.xx
a=rtpmap:0 PCMU/8000
a=fmtp:0 vad=yes
a=rtpmap:8 PCMA/8000
a=fmtp:8 vad=yes
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=yes
a=rtpmap:9 G722/8000
a=fmtp:9 vad=yes
a=rtpmap:100 G726-40/8000
a=fmtp:100 vad=yes
a=rtpmap:99 G726-32/8000
a=fmtp:99 vad=yes
a=rtpmap:98 G726-24/8000
a=fmtp:98 vad=yes
a=rtpmap:97 G726-16/8000
a=fmtp:97 vad=yes
a=rtpmap:96 telephone-event/8000
a=fmtp:96 0-15
a=sendrecv
a=rtcp:14429
a=ptime:20
a=maxptime:240

Intriguing caveat is that when pcma is first choice from the UA then the issue isn't seen.

Additional program output to the terminal or logs illustrating the issue

Anything else?

No response

Lingua principale
Perl
Stelle
992
Fork
459
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di sipwise/rtpengine

Tutte le issue di sipwise/rtpengine

Issue simili

Altre issue su Perl

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.