Skip to content

Commit 67b3a9d

Browse files
authored
Correctly use codec names, fix deps. (#713)
1 parent 8e5eca6 commit 67b3a9d

8 files changed

Lines changed: 37 additions & 39 deletions

File tree

go.mod

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ require (
99
github.com/icholy/digest v1.1.0
1010
github.com/jfreymuth/oggvorbis v1.0.5
1111
github.com/livekit/mageutil v0.0.0-20250511045019-0f1ff63f7731
12-
github.com/livekit/media-sdk v0.0.0-20260605182139-b8633b99de19
13-
github.com/livekit/mediatransportutil v0.0.0-20260605182015-e79eb8d79819
14-
github.com/livekit/protocol v1.46.6-0.20260605181725-7f0893ab5bf2
15-
github.com/livekit/psrpc v0.7.2-0.20260604225640-4bab4033deca
16-
github.com/livekit/server-sdk-go/v2 v2.16.7-0.20260605183249-c47ddccc5112
12+
github.com/livekit/media-sdk v0.0.0-20260608145339-9568191731be
13+
github.com/livekit/mediatransportutil v0.0.0-20260608063931-a3417d38cda0
14+
github.com/livekit/protocol v1.46.7-0.20260605212020-c0615a2f6f84
15+
github.com/livekit/psrpc v0.7.2
16+
github.com/livekit/server-sdk-go/v2 v2.16.6
1717
github.com/livekit/sipgo v0.13.2-0.20260519205735-a5b4a38b6ceb
1818
github.com/mjibson/go-dsp v0.0.0-20180508042940-11479a337f12
1919
github.com/ory/dockertest/v3 v3.12.0
@@ -31,13 +31,6 @@ require (
3131
gopkg.in/yaml.v3 v3.0.1
3232
)
3333

34-
require (
35-
github.com/golang-jwt/jwt/v5 v5.3.1 // indirect
36-
github.com/pion/turn/v5 v5.0.8 // indirect
37-
github.com/puzpuzpuz/xsync/v4 v4.5.0 // indirect
38-
go.yaml.in/yaml/v3 v3.0.4 // indirect
39-
)
40-
4134
require (
4235
buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.11-20260415201107-50325440f8f2.1 // indirect
4336
buf.build/go/protovalidate v1.2.0 // indirect
@@ -73,6 +66,7 @@ require (
7366
github.com/gobwas/httphead v0.1.0 // indirect
7467
github.com/gobwas/pool v0.2.1 // indirect
7568
github.com/gobwas/ws v1.4.0 // indirect
69+
github.com/golang-jwt/jwt/v5 v5.3.1 // indirect
7670
github.com/google/cel-go v0.28.1 // indirect
7771
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect
7872
github.com/google/uuid v1.6.0 // indirect
@@ -112,10 +106,12 @@ require (
112106
github.com/pion/srtp/v3 v3.0.11 // indirect
113107
github.com/pion/stun/v3 v3.1.4 // indirect
114108
github.com/pion/transport/v4 v4.0.2 // indirect
109+
github.com/pion/turn/v5 v5.0.8 // indirect
115110
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
116111
github.com/prometheus/client_model v0.6.2 // indirect
117112
github.com/prometheus/common v0.68.1 // indirect
118113
github.com/prometheus/procfs v0.20.1 // indirect
114+
github.com/puzpuzpuz/xsync/v4 v4.5.0 // indirect
119115
github.com/redis/go-redis/v9 v9.20.0 // indirect
120116
github.com/twitchtv/twirp v8.1.3+incompatible // indirect
121117
github.com/urfave/cli/v3 v3.9.0
@@ -135,6 +131,7 @@ require (
135131
go.uber.org/multierr v1.11.0 // indirect
136132
go.uber.org/zap v1.28.0 // indirect
137133
go.uber.org/zap/exp v0.3.0 // indirect
134+
go.yaml.in/yaml/v3 v3.0.4 // indirect
138135
golang.org/x/crypto v0.52.0 // indirect
139136
golang.org/x/net v0.55.0 // indirect
140137
golang.org/x/sync v0.20.0 // indirect

go.sum

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -130,16 +130,16 @@ github.com/livekit/amrwb-cgo v0.0.0-20260527094629-96c39974d532 h1:q0Gj2RmsBLAcs
130130
github.com/livekit/amrwb-cgo v0.0.0-20260527094629-96c39974d532/go.mod h1:nGBFrVVLyO0RlyM2pWnP/VKaZO6W3rzecL/YlkTPkW8=
131131
github.com/livekit/mageutil v0.0.0-20250511045019-0f1ff63f7731 h1:9x+U2HGLrSw5ATTo469PQPkqzdoU7be46ryiCDO3boc=
132132
github.com/livekit/mageutil v0.0.0-20250511045019-0f1ff63f7731/go.mod h1:Rs3MhFwutWhGwmY1VQsygw28z5bWcnEYmS1OG9OxjOQ=
133-
github.com/livekit/media-sdk v0.0.0-20260605182139-b8633b99de19 h1:+kMx8l+Dh88PfEL+Oxu8czDcy+0uUegPzUBdRj8PX/c=
134-
github.com/livekit/media-sdk v0.0.0-20260605182139-b8633b99de19/go.mod h1:KmQH9MqnQF+/g1UoYZWCFbEDt7/I/AyvHdqisrMoauU=
135-
github.com/livekit/mediatransportutil v0.0.0-20260605182015-e79eb8d79819 h1:sl5uGZLkm/6L/zg7jofNBS9RvMNzuaVBPwx1o2Nsh2g=
136-
github.com/livekit/mediatransportutil v0.0.0-20260605182015-e79eb8d79819/go.mod h1:vsaB9n09kQVcA9AS39CW5HFYdP7jxTP1dXZbsx19iyk=
137-
github.com/livekit/protocol v1.46.6-0.20260605181725-7f0893ab5bf2 h1:00FgKLjdHzhVRzOeS9ULe7bqH7M7RanKSQkcF2VGS9M=
138-
github.com/livekit/protocol v1.46.6-0.20260605181725-7f0893ab5bf2/go.mod h1:tzczH4DNLOWDEeslrFxuu8Rk4XPXHCMhOyrphr7JrIs=
139-
github.com/livekit/psrpc v0.7.2-0.20260604225640-4bab4033deca h1:d6itWQ1sp5wkUPsgo7k2hNHbZyDp18NtSJg1B6lNJKA=
140-
github.com/livekit/psrpc v0.7.2-0.20260604225640-4bab4033deca/go.mod h1:rAI+m2+/cb4x9RXhLRtUx5ZwdfjjXOl4zi46IjEetaw=
141-
github.com/livekit/server-sdk-go/v2 v2.16.7-0.20260605183249-c47ddccc5112 h1:5GM2caMMr8SBoX6/QRs5f8/6B0dWk0Odlx9ZSGCgBfs=
142-
github.com/livekit/server-sdk-go/v2 v2.16.7-0.20260605183249-c47ddccc5112/go.mod h1:WTU4ReOjPsGN2Crz/fJXDjht96tzqNbRPCSxd3t5h38=
133+
github.com/livekit/media-sdk v0.0.0-20260608145339-9568191731be h1:R7+XEvNYGXk944esRS74lDaBIJxD0/Oxk6ZIVZPCh80=
134+
github.com/livekit/media-sdk v0.0.0-20260608145339-9568191731be/go.mod h1:uWrLXY4JeLYynX39htMG49Dl4BhFYY+RCeoXaLdU+Lw=
135+
github.com/livekit/mediatransportutil v0.0.0-20260608063931-a3417d38cda0 h1:XHNNzebIKZRkLimla/hFGrAIX5EMWHctrgt3hLw7s+I=
136+
github.com/livekit/mediatransportutil v0.0.0-20260608063931-a3417d38cda0/go.mod h1:o8CFmAdrVwzJNOCsQCLUzXRjokkufNshnQHOe4fRaqU=
137+
github.com/livekit/protocol v1.46.7-0.20260605212020-c0615a2f6f84 h1:dkHHthyor9dwxxdBmbeG1ZUI4bPHpTEk9DjYJSSSIl4=
138+
github.com/livekit/protocol v1.46.7-0.20260605212020-c0615a2f6f84/go.mod h1:jO+y05AU9Ec4JswDyuzKCZ4bhziOS0CzMqgnbj60Dzs=
139+
github.com/livekit/psrpc v0.7.2 h1:6oZ+NODJ2pLyaT6VqDq1F4Qc/3TpDUSpyphj/P9MhQc=
140+
github.com/livekit/psrpc v0.7.2/go.mod h1:rAI+m2+/cb4x9RXhLRtUx5ZwdfjjXOl4zi46IjEetaw=
141+
github.com/livekit/server-sdk-go/v2 v2.16.6 h1:NBKw5l1AAOHsHAZKzuzAGzILRmSm+4E+/YZ9ZiaqudI=
142+
github.com/livekit/server-sdk-go/v2 v2.16.6/go.mod h1:1+duFCDFpAvHqZ6mHQe7IwjecLIBFv/keJcexuFhD+0=
143143
github.com/livekit/sipgo v0.13.2-0.20260519205735-a5b4a38b6ceb h1:HmgaJMGs0Nco/Z+XMc9f+xFgrbood9yJsIBtl1OY76M=
144144
github.com/livekit/sipgo v0.13.2-0.20260519205735-a5b4a38b6ceb/go.mod h1:aDa6mbFktNzA1D917RhFlIB5IOfNBTmrwt+/lX960j0=
145145
github.com/mackerelio/go-osstat v0.2.7 h1:TCavZi10wF49bT6iQZ9eT2keGZQpC69MTDfdJej5e94=

pkg/sip/media_codecs.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,11 @@ var defaultCodecs = msdk.NewCodecSet()
3535

3636
func init() {
3737
defaultCodecs.SetEnabledMap(map[string]bool{
38-
g711.ALawSDPName: true,
39-
g711.ULawSDPName: true,
40-
g722.SDPName: true,
41-
amrwb.SDPName: false, // optional
42-
dtmf.SDPName: true,
38+
g711.ALawSDPNameAndRate: true,
39+
g711.ULawSDPNameAndRate: true,
40+
g722.SDPNameAndRate: true,
41+
amrwb.SDPNameAndRate: false, // optional
42+
dtmf.SDPNameAndRate: true,
4343
})
4444
}
4545

@@ -89,11 +89,11 @@ func codecSet(m *livekit.SIPMediaConfig) (*msdk.CodecSet, error) {
8989
if rate == 0 {
9090
// Set default rate
9191
switch name {
92-
case g711.ALawSDPName, g711.ULawSDPName:
92+
case g711.ALawSDPNameOnly, g711.ULawSDPNameOnly:
9393
rate = 8000
94-
case g722.SDPName:
94+
case g722.SDPNameOnly:
9595
rate = 8000 // actually 16000, it's a know bug in the spec
96-
case amrwb.SDPName:
96+
case amrwb.SDPNameOnly:
9797
rate = 16000
9898
default:
9999
return nil, fmt.Errorf("sample rate not specified for codec: %q", name)

pkg/sip/media_port.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -928,7 +928,7 @@ func (p *MediaPort) setupInput() {
928928
if p.conf.Audio.DTMFType != 0 {
929929
mux.Register(
930930
p.conf.Audio.DTMFType, newRTPHandlerCount(
931-
newRTPStatsHandler(p.mon, dtmf.SDPName, rtp.HandlerFunc(p.dtmfHandler)),
931+
newRTPStatsHandler(p.mon, dtmf.SDPNameAndRate, rtp.HandlerFunc(p.dtmfHandler)),
932932
&p.stats.DTMFPackets, &p.stats.DTMFBytes,
933933
),
934934
)

pkg/siptest/client.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ func NewClient(id string, conf ClientConfig) (*Client, error) {
9292
conf.Number = "1000"
9393
}
9494
if conf.Codec == "" {
95-
conf.Codec = g711.ULawSDPName
95+
conf.Codec = g711.ULawSDPNameAndRate
9696
}
9797
codec := lksdp.CodecByName(conf.Codec).(msdk.AudioCodec)
9898
cli := &Client{
@@ -572,7 +572,7 @@ func (c *Client) createOffer() ([]byte, error) {
572572
},
573573
Attributes: []sdp.Attribute{
574574
{Key: "rtpmap", Value: fmt.Sprintf("%d %s", c.audioType, c.audioCodec.Info().SDPName)},
575-
{Key: "rtpmap", Value: "101 " + dtmf.SDPName},
575+
{Key: "rtpmap", Value: "101 " + dtmf.SDPNameAndRate},
576576
},
577577
},
578578
},

test/client/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ var (
3939
filePathPlay = flag.String("play", "audio.mkv", "play audio")
4040
filePathSave = flag.String("save", "save.mkv", "save incoming audio to file")
4141
sendDTMF = flag.String("dtmf", "", "send DTMF sequence")
42-
codec = flag.String("codec", g711.ULawSDPName, "audio codec")
42+
codec = flag.String("codec", g711.ULawSDPNameAndRate, "audio codec")
4343
)
4444

4545
func main() {

test/cloud/phone.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import (
1313

1414
const (
1515
to = 15550100000
16-
codec = g711.ULawSDPName
16+
codec = g711.ULawSDPNameAndRate
1717
)
1818

1919
var num atomic.Int64

test/integration/sip_test.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,10 @@ import (
1313
"testing"
1414
"time"
1515

16+
"github.com/stretchr/testify/require"
17+
1618
"github.com/livekit/protocol/tracer/jaeger"
1719
"github.com/livekit/psrpc/pkg/middleware/otelpsrpc"
18-
"github.com/stretchr/testify/require"
1920

2021
"github.com/livekit/media-sdk/dtmf"
2122
"github.com/livekit/media-sdk/g711"
@@ -752,8 +753,8 @@ func TestSIPJoinRoomIndividual(t *testing.T) {
752753

753754
func TestSIPAudio(t *testing.T) {
754755
for _, codec := range []string{
755-
g711.ULawSDPName,
756-
g722.SDPName,
756+
g711.ULawSDPNameAndRate,
757+
g722.SDPNameAndRate,
757758
} {
758759
codec := codec
759760
t.Run(codec, func(t *testing.T) {
@@ -787,7 +788,7 @@ func TestSIPAudio(t *testing.T) {
787788
if i == 0 {
788789
// Make first client always use the same codec.
789790
// This way we can see how different codecs interact.
790-
codec = g711.ULawSDPName
791+
codec = g711.ULawSDPNameAndRate
791792
}
792793
wg.Add(1)
793794
go func() {

0 commit comments

Comments
 (0)