Reference 13r2:Concept RTPTP (myApps VPN)

From innovaphone wiki
Jump to navigation Jump to search
Tools clipart.png FIXME: Below described feature is experimental and not officially supported for use in productive environments.

RTPTP is the protocol used for myApps VPN. On the innovaphone devices there are RTPTP interfaces for IP4 and IP6 available as tunnel endpoints.

The RTPTP protocol uses Voip Calls to establish an IP tunnel between the endpoints of the call. As media, transparent data (clearmode) is used. The IP pakets are sent as the RTP payload. This way the normal ICE and DTLS mechanisms can be used for firewal traversal and security.

There is a client mode and a server mode. The server mode accepts calls from the client. Voip authentication is used to verify the clients. The client establishes the call to the server.

For keep-alive a single byte paket of 0x00 is used, which is sent every second, if no IP packet was sent within the last second. This way the other side can monitor if the network path from the other side is still working. If no paket is received for 10s the either side is clearing the call. The client side should then reestablish the call.

A facility is used to send network information from the server to the client within the Connect message. This facility uses H.450 coding for H.323 calls and JSON coding on the PbxSignal JSON Api of the PBX

There are several innovaphone endpoints for RTPTP available. Some for client only, some implementing client and server

RTPTP interfaces on innovaphone gateways

Interfaces for IP4 and IP6, supportigng client and server mode are implemented.

configuration data

The config lines IP0 RTPTP0 for IPv4 and IP6 RTPTP0 for IPv6 are used. The following config options are used:

/mode
client|server - turns on the interface in the selected mode
/host
the host name or address
/user
local user name
/addr
network address
/mask
network mask
/reg
registration mode is turned on if present

Detailed meaning of these configuration items can be found in the reference pages

users configuration

The configured users are stored in VARS.

VARS of the name

RTPTP0/!<username>

are used. Since the maximum length of a VAR is 32 bytes, this limits the username to 24 bytes.

The content of the VARs is binary:

struct {
    IPaddr addr;
    IPaddr mask;
}

IPaddr is a 16 bytes IPv6 address. IPv4 addresses are represented in the form of mapped IPv4 address (::ffff<IPv4 address>)

RTPTP in myApps WIndows