2024-06-05 20:10:03 +00:00
|
|
|
// SPDX-FileCopyrightText: 2023 The Pion community <https://pion.ly>
|
|
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
|
2022-03-10 09:44:48 +00:00
|
|
|
package server
|
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/pion/stun"
|
|
|
|
"github.com/pion/turn/v2/internal/ipnet"
|
|
|
|
)
|
|
|
|
|
|
|
|
func handleBindingRequest(r Request, m *stun.Message) error {
|
2024-06-05 20:10:03 +00:00
|
|
|
r.Log.Debugf("Received BindingRequest from %s", r.SrcAddr)
|
2022-03-10 09:44:48 +00:00
|
|
|
|
|
|
|
ip, port, err := ipnet.AddrIPPort(r.SrcAddr)
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
|
|
|
attrs := buildMsg(m.TransactionID, stun.BindingSuccess, &stun.XORMappedAddress{
|
|
|
|
IP: ip,
|
|
|
|
Port: port,
|
|
|
|
}, stun.Fingerprint)
|
|
|
|
|
|
|
|
return buildAndSend(r.Conn, r.SrcAddr, attrs...)
|
|
|
|
}
|