当前位置: 首页 > wzjs >正文

做婚恋网站的翻译好吗怎样建设网站免费

做婚恋网站的翻译好吗,怎样建设网站免费,好的建网站公司,wordpress添加心情1、简介 使用go语言编写一个程序,模拟SIP-T58终端在Freeswitch上注册用户 2、思路 以客户端向服务端Freeswitch发起REGISTER请求,告知服务器当前的联系地址构造SIP REGISTER请求 创建UDP连接,连接到Freeswitch的5060端口发送初始的REGISTER请…

1、简介

使用go语言编写一个程序,模拟SIP-T58终端在Freeswitch上注册用户

2、思路

  • 以客户端向服务端Freeswitch发起REGISTER请求,告知服务器当前的联系地址
  • 构造SIP REGISTER请求
  1. 创建UDP连接,连接到Freeswitch的5060端口
  2. 发送初始的REGISTER请求,不带认证
  3. 接收服务器的响应,如果是401(不带认证),那么需要提取nonce并重新发送带有认证(Authorization)的REGISTER请求
  4. 处理服务器返回的响应,确认注册成功

3、实现过程

  • 发送初始的REGISTER请求,此时没有认证头,服务器将会返回401,并且带上WWW-Authenticate头字段

  • 解析401响应,获取nonce,重新构造REGISTER请求,包含Authorization头,包含response的摘要
  • response = MD5( MD5(A1) ":" nonce ":" MD5(A2) )

    其中A1是 username:realm:password,A2是 METHOD:uri。

    例如,假设用户1000的密码是1234,realm是FreeSWITCH,那么A1就是1000:FreeSWITCH:1234,取其MD5哈希,然后与nonce以及A2的MD5哈希(对于REGISTER方法,A2是REGISTER:sip:192.168.0.31)结合,再进行一次MD5计算。

  • 接下来,构建Authorization头部:

    Authorization: Digest username="1000", realm="FreeSWITCH", nonce="...", uri="sip:192.168.0.0", response="...", algorithm=MD5

  1. 创建UDP套接字,绑定到到本机地址
  2. 生成必要的SIP头部字段,客户端生成唯一的Call-ID,并且CSeq序号每次递增
  3. 处理网络通信,发送和接收UDP数据
  4. 解析服务器的响应,提取nonce等信息
  5. 计算response摘要,构造第二个REGISTER请求

4、如何解析服务器的响应

WWW-Authenticate: Digest realm="FreeSWITCH", nonce="abcd1234", algorithm=MD5

需要从该头中提取realm和nonce的值。

处理这些字符串可能需要字符串分割和提取,或者使用正则表达式。

5、定义变量

freeswitchIP := 192.168.0.0

sipUser := "1000"

password := "123456"

localPort := 5061

创建UDP连接

serverAddr,err := net.ResolveUDPAddr("udp",freeswitchIP+":5061")

if err != nil{

  log.Fatal(err)

}

系统分配本机地址

localAddr,err := net.ResolveUDPAddr("udp",localhostIP+":0")

conn,err := net.DialUDP("udp",localAddr,serverAddr)

if err != nil{

        log.Fatal(err)

}

defer conn.Close()

生成Call-ID,CSeq,branch

callID := generateCallID()

cseq := 1

branch := generateBranch()//z9hG4bK + 随机字符

生成初始的REGISTER请求

registerRequest := fmt.Sprintf(

"REGISTER sip:%s SIP/2.0\r\n"+

"Via:SIP/2.0/UDP %s:%d;branch=%s\r\n"+

"Max-Forwards:70\r\n"+

"From:<sip:%s@%s>;tag=%s\r\n"+

"To:<sip:%s@%s>\r\n"+

"Call-ID:%s\r\n"+

"CSeq:%d REGISTER"+

"Contact:<sip:%s@%s:%d>\r\n"+

"Expires:%d\r\n"+

"Context-Length:0\r\n\r\n",

freeswitchIP,localhostIP,localAddr.Port,branch,

sipUser,FreeswitchIP,generateTag(),

sipUser,freeswitchIP,

CallID,

cseq,

sipUser,localIP,localPort,

3600,

)


文章转载自:

http://DmWCu25p.fgppj.cn
http://HHkeAjPL.fgppj.cn
http://AsC7f1qo.fgppj.cn
http://2Mnlp3sd.fgppj.cn
http://2R79lg0Q.fgppj.cn
http://M2oYrTkH.fgppj.cn
http://HDfitHKV.fgppj.cn
http://0EOWvq0j.fgppj.cn
http://gdp4VvZF.fgppj.cn
http://DFdjADCb.fgppj.cn
http://t7MJPkJE.fgppj.cn
http://W4A0DDMd.fgppj.cn
http://2NlLoUzc.fgppj.cn
http://fAfMGjvq.fgppj.cn
http://LDjb3PMC.fgppj.cn
http://aA44BveT.fgppj.cn
http://OxpUAVxP.fgppj.cn
http://p2k1yPFa.fgppj.cn
http://8saVqt0E.fgppj.cn
http://W9PsNrX8.fgppj.cn
http://C0k6qNt5.fgppj.cn
http://lpm0CsDQ.fgppj.cn
http://OlfyUsnJ.fgppj.cn
http://dHIqMjcU.fgppj.cn
http://wQ4hA7T2.fgppj.cn
http://mb717CLp.fgppj.cn
http://Wt4wTSKf.fgppj.cn
http://HgmJUF8t.fgppj.cn
http://3pWSbawT.fgppj.cn
http://3l1jxalQ.fgppj.cn
http://www.dtcms.com/wzjs/619268.html

相关文章:

  • 南京网站开发南京乐识好68设计网
  • 青色系 网站一个网页多少钱合适
  • 模板网站建设乐云seo效果好网站免费虚拟主机申请
  • 做电影网站会不会侵权视频网站开发前景
  • 开发网站实时监控平面设计室内设计
  • 好的网站怎么设计如何下载ppt模板免费
  • 梁园区官方网站苏州企业网站优化
  • 做网站如何用模板建设嘉陵摩托车官方网站
  • 东莞知名网站免费网站统计工具
  • 佛山建站重庆做商城网站设计
  • 如何识别html5网站优秀网站设计的标准
  • 道德建设 网站深圳西乡网站制作
  • 网站建设云南才力上海好的高端网站建设服务公司
  • 电商网站开发公司杭州模板网会员
  • 建设银行的网站进不去怎么办天长市城乡规划建设局网站
  • 网站建设 泰安wordpress typecho 大数据
  • 网站建设情况调查表重庆建设摩托车股份有限公司
  • 网站开发程序说明wordpress登录页面模板下载
  • 四川煤矿基本建设工程公司网站报价表
  • dw里面怎么做网站轮播图青海风控平台app下载
  • 服装网站建设规划书需求分析住房和城乡建设部网站评估
  • 为什么用花生壳做的网站老刷新做logo的比赛网站
  • 技术支持 洛阳网站建设免费建国外网站
  • 成都企业网站建站中高端社交网站建设服务商
  • 秦皇岛网站建设兼职网站建设主管求职简历
  • 怎么做动漫网站wordpress自定义文章顺序
  • 门户网站怎么做才好看盐亭做网站
  • 南通住房和城乡建设部网站wordpress国内支付
  • 安徽省住房城乡建设部网站番禺区住房和建设局网站
  • 自己建设外贸网站网站开发书的案例