1 Star 0 Fork 16

Ellan-bm/SIP协议

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
cseq.go 787 Bytes
一键复制 编辑 原始数据 按行查看 历史
shallot 提交于 2020-04-05 12:24 +08:00 . 添加SIP协议的解析代码。
package sip
import (
"errors"
"fmt"
"strconv"
"strings"
)
// Header中的CSeq序列号(RFC3261-8.1.1.5)
type CSeq struct {
CSeq int // 请求的序列号
Method string // 请求的方法
}
func parseCSeq(value string) (m CSeq, err error) {
m = CSeq{}
err = m.parse(value)
return
}
// 字符串表达
func (m CSeq) String() string {
return fmt.Sprintf("%d %s", m.CSeq, m.Method)
}
// 解析CSeq序列号
func (m *CSeq) parse(value string) (err error) {
// 拆分字符串
args := strings.Split(value, " ")
if len(args) != 2 {
err = errors.New("sip: message header cseq format error")
return
}
// 生成
if m.CSeq, err = strconv.Atoi(args[0]); err != nil {
err = errors.New("sip: message header cseq number error")
return
}
m.Method = args[1]
return
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/ellan-bm/sip.git
git@gitee.com:ellan-bm/sip.git
ellan-bm
sip
SIP协议
master

搜索帮助