Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

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

Abierto
#1,969 4 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
25/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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

Lenguaje dominante
Perl
Estrellas
992
Forks
459
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de sipwise/rtpengine

Todos los issues de sipwise/rtpengine

Issues similares

Más issues de Perl

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.