// Copyright 2020 Justine Alexandra Roberts Tunney // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package sip import ( "strconv" "time" ) func duration(ms *int) time.Duration { return time.Duration(*ms) * time.Millisecond } func or5060(port uint16) uint16 { if port == 0 { return 5060 } return port } func portstr(port uint16) string { return strconv.FormatInt(int64(port), 10) } func unhex(b byte) byte { switch { case '0' <= b && b <= '9': return b - '0' case 'a' <= b && b <= 'f': return b - 'a' + 10 case 'A' <= b && b <= 'F': return b - 'A' + 10 } return 0 }