<div dir="ltr"><div><div><div><div>Hi,<br><br></div>As the mobile voip is getting more and more popular these days, there has been a strong opposition from GSM operators against mobile voip apps. They often use tactics like blocking voip ports, or detect and block voip traffic and in some cases restricting udp traffic altogether to very low upload and download speeds. See below link for some details,<br>

<br><a href="http://www.linphone.org/eng/blog/linphone-over-3g.html">http://www.linphone.org/eng/blog/linphone-over-3g.html</a><br><br></div>While not all the problems can be solved right now (especially the limiting udp traffic, since RTP always uses udp transport) I was wondering if we can at least handle the sip related problems. The most important of them is SIP traffic detection. While some forks would suggest using TCP/TLS to encrypt SIP traffic, it has a few problems, e.g.<br>

<br></div>1. It requires somewhat high resources on mobile devices, so many low-end android phones simply can't use it.<br><br></div>2. There is possibility that encryption signature may identify it as SIP traffic. There exists firewalls (often deployed in middle eastern countries) which have huge database of encryption signatures and patterns which although may not decrypt the sip packet but at least identify it as sip packet and block it.<br>

<div><br></div><div>Also with rough agencies of evil empires spying over millions of users worldwide makes the current encryption standards pretty much pointless, at least in terms of user privacy and network security. So there is a strong need to experiment with new ideas and concepts to regain internet freedom. Some of such ideas are,<br>

<br></div><div>1. Convert sip traffic which is plain text to binary format just before transmitting it and revert it to plain text upon reception.<br><br></div><div>2. XOR the sip traffic (pretty much same as binary sip).<br>

<br></div><div>3. Use some very lightweight but effective / non-standard encryption algorithm, e.g.<br><br><a href="https://github.com/mshary/itv">https://github.com/mshary/itv</a><br><br></div><div>All these ideas require that SIP server such as Kamailio is able to adopt to these, preferably with minimal or no change in native code. The NoSIP module seems an interesting module in this regard. It provides all traffic it thinks is not the SIP traffic to configuration script, where we can do our own parsing and do whatever we want with it. I have two questions about this,<br>

<br></div><div>1. If parsed message is SIP, we can we send it back to kamailio core to get it processed as if it is a normal SIP message received by kamailio?<br><br></div><div>2. Can this module or any other module available in kamailio, that can provide us full sip packet that is about to be transmitted over sip socket, so we can "encode" it just before it is sent to next hop?<br>

</div><div><br></div><div>I know this would be like writing a SIP transport in kamailio script which would be very tough if not impossible to implement in native core. But it will really help in winning the modern mobile voip challenges.<br>

</div><div><br></div><div>Thank you.<br></div><div><br><br></div></div>