2010-12-31 8 views
3

Ich habe eine VOIP-Anwendung entwickelt, die PJSip verwendet, um über SIP-Kanal zu kommunizieren. Ich möchte einen HTTP-Tunnel erstellen, damit das System auch in Bereichen funktioniert, in denen VOIP blockiert ist. Was ist der Weg, um dies mit PJSip zu erreichen oder wenn es eine externe Methode gibt, wie kann es mit PJSip ??HTTP-Tunnel auf pjsip

Antwort

0

Es gibt keine einfache Möglichkeit, dies zu tun. Sie müssen ein anderes Transportprotokoll in pjsip schreiben oder die aktuellen Transporte modifizieren, um tcp/udp über HTTP-Tunneling zu unterstützen. Es gibt auch, wie Sie den Datenverkehr über HTTP "tunneln" würden. Möglicherweise müssen Sie sicherstellen, dass Sie einen HTTP-Server verwenden, der auch HTTP-Tunneling unterstützt.

Dies kann Ihnen die SIP-Signalisierung bringen, aber Sie können Probleme mit dem RTP-Medienverkehr haben.

Sie können besser TURN-Unterstützung in den Pjsip-Code implementieren. pjsip unterstützt bereits TURN für RTP-Medien, daher wird es weniger Arbeit sein, TURN für den Haupt-SIP-Signalisierungsverkehr zu unterstützen.

Das setzt voraus, dass Sie einen TURN-Server installieren können? Wenn Sie keinen TURN-Server installieren können und Ihr HTTP-Server HTTP-Tunneling nicht unterstützt, haben Sie möglicherweise kein Glück.

0

Die Behörden erkennen über Ihre VoIP-Anwendungen durch Erfassen Ihrer SIP-und RTP-Pakete.Sie können Ihre pjsip zwicken und zwingen, alle Daten über ein Gateway zu senden (derzeit öffnet pjsip verschiedene Ports für SIP/RTP/RTCP usw.). Sie müssen jedes ausgehende Paket auch so ändern, dass die Behörden nicht wissen, dass das Paket ein SIP- oder RTP-Paket ist (sie kennen den Pakettyp, indem sie die Struktur des Headers betrachten). Sie müssen auch ein Tunnel-System implementieren, durch das jedes Paket geht, bevor es zum Server geht. Dieser Tunnel sollte die Fähigkeit haben, die Pakete in ihren ursprünglichen Zustand zu versetzen. Auf diese Weise können Sie Pakete zum Server senden, ohne blockiert zu werden.

Verwandte Themen