首页 文章

pjsip上的HTTP隧道

提问于
浏览
3

我开发了一个VOIP应用程序,它使用PJSip通过SIP通道进行通信 . 我想要做的是创建一个HTTP隧道,以便系统即使在VOIP被阻止的区域也能工作 . 使用PJSip实现这个目的的方法是什么,或者如果有一些外部方法那么它如何与PJSip合并?

2 回答

  • 0

    没有简单的方法可以做到这一点 . 您必须在pjsip中编写另一个传输协议或修改当前传输以通过http隧道支持tcp / udp . 您还可以通过HTTP“隧道”流量 . 您可能必须确保使用支持HTTP隧道的HTTP服务器 .

    这可能会为您提供SIP信令,但您可能会遇到RTP媒体流量问题 .

    您可能最好在pjsip代码中实现TURN支持 . pjsip已经支持TURN用于RTP媒体,因此使其支持主要SIP信令流量的TURN将更少工作 .

    虽然这假设您可以安装TURN服务器?如果您无法安装TURN服务器并且您的HTTP服务器不支持HTTP隧道,那么您可能会运气不好 .

  • 0

    当局通过捕获您的SIP和RTP数据包来检测您的VoIP应用程序 . 您可以调整您的pjsip并强制通过一个网关发送所有数据(目前,pjsip为sip / RTP / rtcp等打开不同的端口) . 您还必须更改每个传出数据包,以便当局无法知道数据包是sip还是RTP数据包(他们通过查看数据头的结构知道数据包的类型) . 您还需要实现一个隧道类型系统,每个数据包在进入服务器之前都会通过该系统 . 此隧道应具有将数据包重组为其原始状态的功能 . 这样,您就可以将数据包发送到服务器而不会被阻止 .

相关问题