You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
931 B
Go
39 lines
931 B
Go
3 years ago
|
package icspacketparser
|
||
|
|
||
|
import (
|
||
|
"strconv"
|
||
|
"strings"
|
||
|
|
||
|
"gitlab.com/ics_cinnamon/voicegateway/icserror"
|
||
|
)
|
||
|
|
||
|
type SDPMedia struct {
|
||
|
MediaDescription string // m
|
||
|
Attributes []string // a
|
||
|
Payload []string // codec
|
||
|
}
|
||
|
|
||
|
func (sdm *SDPMedia) setSdpMediaStruct(name string, value string) (icserr *icserror.IcsError) {
|
||
|
switch strings.ToUpper(name) {
|
||
|
case "M":
|
||
|
//fmt.Println(name, value)
|
||
|
sdm.MediaDescription = value
|
||
|
spaceSplitValue := strings.Split(value, " ")
|
||
|
for i, fieldValue := range spaceSplitValue {
|
||
|
intValue, err := strconv.Atoi(strings.TrimSpace(fieldValue))
|
||
|
if i >= 3 && err == nil {
|
||
|
sdm.Payload = append(sdm.Payload, strconv.Itoa(intValue))
|
||
|
}
|
||
|
}
|
||
|
// fmt.Println("sdm.Payload >>>>>>>>>>>", sdm.Payload)
|
||
|
|
||
|
return nil
|
||
|
case "A":
|
||
|
sdm.Attributes = append(sdm.Attributes, value)
|
||
|
return nil
|
||
|
default:
|
||
|
//fmt.Println("SDP Media~~~~~~~~~~~~~~~~~whoAU~~~~~~~~~~~~~~~~~")
|
||
|
}
|
||
|
return nil
|
||
|
}
|