Skip to content

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

@adil-mafzool

Description

@adil-mafzool

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions