How to add EVS Codec to rtpengine

82 views
Skip to first unread message

erfu tan

unread,
Jun 4, 2025, 5:47:00 AM6/4/25
to Sipwise rtpengine
rtpengine version

Version: 13.3.1.7+0~mr13.3.1.7 git-mr13.3.1-c2223681

Used distribution and its version

Ubuntu 22.04.5 LTS

Linux kernel version used

6.8.0-58-generic

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

None

Expected behaviour you didn't see

Hi rtpengine team,

I'm encountering an issue where the EVS codec is not supported after compiling rtpengine, despite obtaining the necessary 3GPP EVS files(R18).
Steps to Reproduce:

  1. Downloaded the 3GPP EVS codec reference implementation from the 3GPP website (TS 26.442).
  2. Cloned the rtpengine repository:
  3. fllow those step
    “To supply the codec implementation as a shared object during runtime, extract the reference implementation’s .zip file and apply the provided patch (from here) that is appropriate for the chosen implementation. Run the build using make (suggested build flags are RELEASE=1 make) and it should produce a file lib3gpp-evs.so. Point rtpengine to this file using the evs-lib-path= option to enable support for EVS.”
  4. Image
  5. Image
  6. Image
  7. Image
  8. My rtpngine.conf :
    [rtpengine]

    table = -1
    # no-fallback = false
    ### for userspace forwarding only:
    # table = -1

    ### a single interface:
    # interface = 123.234.345.456
    ### separate multiple interfaces with semicolons:
    # interface = internal/12.23.34.45;external/23.34.45.54
    ### for different advertised address:
    # interface = 12.23.34.45!23.34.45.56

    interface = 10.18.2.77



    #listen-ng = 10.18.2.88:2223
    listen-ng = 10.18.2.77:2223
    # listen-tcp = 25060
    # listen-udp = 12222

    ### interface for HTTP, WS and Prometheus
    # listen-http = 9101
    #listen-http = localhost:2225
    listen-http = localhost:2225

    # listen-https = localhost:2226
    # https-cert =
    # https-key =

    #listen-cli = localhost:2224
    listen-cli = localhost:2224

    timeout = 60
    silent-timeout = 3600
    tos = 184
    # control-tos = 184
    # control-pmtu = dont
    # delete-delay = 30
    # final-timeout = 10800
    # endpoint-learning = heuristic
    # reject-invalid-sdp = false

    # foreground = false
    # pidfile = /run/ngcp-rtpengine-daemon.pid
    # num-threads = 16
    # media-num-threads = 8
    # http-threads = 4

    port-min = 30000
    port-max = 40000
    # max-sessions = 5000

    # software-id = rtpengine
    # max-load = 5
    # max-cpu = 90
    # max-bandwidth = 10000000
    # scheduling = default
    # priority = -3
    # idle-scheduling = idle
    # idle-priority = 10

    use-nftables=no

    recording-dir = /var/spool/rtpengine
    recording-method = proc
    evs-lib-path = /usr/lib/lib3gpp-evs.so

    codec-transcode = EVS H264
    # recording-format = raw
Reply all
Reply to author
Forward
0 new messages