因pjsip中如果有rport机制使用,则via头域中的sent-by地址在穿越NAT回来后会发生变化,
然后可能有的服务器在两次注册时不允许不一样的地址,所有注册就会失败,
为了避免失败,就必须保证via头域中的sent-by地址不发生变化。
在查找了很多资料后发现pjsip至2.0.1之后的版本都会(默认通过设置allow_via_rewrite = 1)改变via头域中sent-by地址,
官方解释之前的做法存在一定的bug但因个人英语水平有限无法理解太多的内容,附上官网地址 https://trac.pjsip.org/repos/ticket/1537
为了能够保证我的项目正常运行就先通过设定 allow_via_rewrite = 0 确保via头域不发生变更。实验成功,但至于以后还会出现怎样的bug仍需谨慎使用。
allow_via_rewrite 此变量在 pjsua_acc_config中定义。