97 lines
2.4 KiB
Go
97 lines
2.4 KiB
Go
package livekit
|
|
|
|
// ToProto implements DataPacket in Go SDK.
|
|
func (p *SipDTMF) ToProto() *DataPacket {
|
|
return &DataPacket{
|
|
Value: &DataPacket_SipDtmf{
|
|
SipDtmf: p,
|
|
},
|
|
}
|
|
}
|
|
|
|
// AsInbound converts legacy SIPTrunkInfo to SIPInboundTrunkInfo.
|
|
func (p *SIPTrunkInfo) AsInbound() *SIPInboundTrunkInfo {
|
|
if p == nil || p.Kind == SIPTrunkInfo_TRUNK_OUTBOUND {
|
|
return nil
|
|
}
|
|
var nums []string
|
|
if p.OutboundNumber != "" {
|
|
nums = []string{p.OutboundNumber}
|
|
}
|
|
return &SIPInboundTrunkInfo{
|
|
SipTrunkId: p.SipTrunkId,
|
|
Name: p.Name,
|
|
Metadata: p.Metadata,
|
|
Numbers: nums,
|
|
AllowedAddresses: p.InboundAddresses,
|
|
AllowedNumbers: p.InboundNumbers,
|
|
AuthUsername: p.InboundUsername,
|
|
AuthPassword: p.InboundPassword,
|
|
}
|
|
}
|
|
|
|
// AsTrunkInfo converts SIPInboundTrunkInfo to legacy SIPTrunkInfo.
|
|
func (p *SIPInboundTrunkInfo) AsTrunkInfo() *SIPTrunkInfo {
|
|
if p == nil {
|
|
return nil
|
|
}
|
|
var num string
|
|
if len(p.Numbers) != 0 {
|
|
num = p.Numbers[0]
|
|
}
|
|
return &SIPTrunkInfo{
|
|
SipTrunkId: p.SipTrunkId,
|
|
Kind: SIPTrunkInfo_TRUNK_INBOUND,
|
|
Name: p.Name,
|
|
Metadata: p.Metadata,
|
|
OutboundNumber: num,
|
|
InboundAddresses: p.AllowedAddresses,
|
|
InboundNumbers: p.AllowedNumbers,
|
|
InboundUsername: p.AuthUsername,
|
|
InboundPassword: p.AuthPassword,
|
|
}
|
|
}
|
|
|
|
// AsOutbound converts legacy SIPTrunkInfo to SIPOutboundTrunkInfo.
|
|
func (p *SIPTrunkInfo) AsOutbound() *SIPOutboundTrunkInfo {
|
|
if p == nil || p.Kind == SIPTrunkInfo_TRUNK_INBOUND {
|
|
return nil
|
|
}
|
|
var nums []string
|
|
if p.OutboundNumber != "" {
|
|
nums = []string{p.OutboundNumber}
|
|
}
|
|
return &SIPOutboundTrunkInfo{
|
|
SipTrunkId: p.SipTrunkId,
|
|
Name: p.Name,
|
|
Metadata: p.Metadata,
|
|
Address: p.OutboundAddress,
|
|
Transport: p.Transport,
|
|
Numbers: nums,
|
|
AuthUsername: p.OutboundUsername,
|
|
AuthPassword: p.OutboundPassword,
|
|
}
|
|
}
|
|
|
|
// AsTrunkInfo converts SIPOutboundTrunkInfo to legacy SIPTrunkInfo.
|
|
func (p *SIPOutboundTrunkInfo) AsTrunkInfo() *SIPTrunkInfo {
|
|
if p == nil {
|
|
return nil
|
|
}
|
|
var num string
|
|
if len(p.Numbers) != 0 {
|
|
num = p.Numbers[0]
|
|
}
|
|
return &SIPTrunkInfo{
|
|
SipTrunkId: p.SipTrunkId,
|
|
Kind: SIPTrunkInfo_TRUNK_OUTBOUND,
|
|
Name: p.Name,
|
|
Metadata: p.Metadata,
|
|
OutboundAddress: p.Address,
|
|
Transport: p.Transport,
|
|
OutboundNumber: num,
|
|
OutboundUsername: p.AuthUsername,
|
|
OutboundPassword: p.AuthPassword,
|
|
}
|
|
}
|