For any new 'apps' that run on the device or via sister apps on phones/PCs they should pick and use a unique 'portnum' for their application. If you are making a new app using meshtastic, please send in a pull request to add your 'portnum' to this master table. PortNums should be assigned in the following range: 0-63 Core Meshtastic use, do not use for third party apps 64-127 Registered 3rd party apps, send in a pull request that adds a new entry to portnums.proto to register your application 256-511 Use one of these portnums for your private applications that you don't want to register publically All other values are reserved. Note: This was formerly a Type enum named 'typ' with the same id # We have change to this 'portnum' based scheme for specifying app handlers for particular payloads. This change is backwards compatible by treating the legacy OPAQUE/CLEAR_TEXT values identically.

from enum meshtastic.PortNum

Enumeration Members

ADMIN_APP

Admin control packets. Payload is a AdminMessage message. ENCODING: Protobuf

from enum value: ADMIN_APP = 6;

ATAK_FORWARDER

ATAK Forwarder Module https://github.com/paulmandal/atak-forwarder ENCODING: libcotshrink

from enum value: ATAK_FORWARDER = 257;

ATAK_PLUGIN

ATAK Plugin Portnum for payloads from the official Meshtastic ATAK plugin

from enum value: ATAK_PLUGIN = 72;

AUDIO_APP

Audio Payloads. Encapsulated codec2 packets. On 2.4 GHZ Bandwidths only for now ENCODING: codec2 audio frames NOTE: audio frames contain a 3 byte header (0xc0 0xde 0xc2) and a one byte marker for the decompressed bitrate. This marker comes from the 'moduleConfig.audio.bitrate' enum minus one.

from enum value: AUDIO_APP = 9;

DETECTION_SENSOR_APP

Same as Text Message but originating from Detection Sensor Module. NOTE: This portnum traffic is not sent to the public MQTT starting at firmware version 2.2.9

from enum value: DETECTION_SENSOR_APP = 10;

IP_TUNNEL_APP

Used for the python IP tunnel feature ENCODING: IP Packet. Handled by the python API, firmware ignores this one and pases on.

from enum value: IP_TUNNEL_APP = 33;

MAP_REPORT_APP

Provides unencrypted information about a node for consumption by a map via MQTT

from enum value: MAP_REPORT_APP = 73;

MAX

Currently we limit port nums to no higher than this value

from enum value: MAX = 511;

NEIGHBORINFO_APP

Aggregates edge info for the network by sending out a list of each node's neighbors ENCODING: Protobuf

from enum value: NEIGHBORINFO_APP = 71;

NODEINFO_APP

The built-in user info app. Payload is a User message. ENCODING: Protobuf

from enum value: NODEINFO_APP = 4;

PAXCOUNTER_APP

Paxcounter lib included in the firmware ENCODING: protobuf

from enum value: PAXCOUNTER_APP = 34;

POSITION_APP

The built-in position messaging app. Payload is a Position message. ENCODING: Protobuf

from enum value: POSITION_APP = 3;

POWERSTRESS_APP

PowerStress based monitoring support (for automated power consumption testing)

from enum value: POWERSTRESS_APP = 74;

PRIVATE_APP

Private applications should use portnums >= 256. To simplify initial development and testing you can use "PRIVATE_APP" in your code without needing to rebuild protobuf files (via regen-protos.sh)

from enum value: PRIVATE_APP = 256;

RANGE_TEST_APP

Optional port for messages for the range test module. ENCODING: ASCII Plaintext NOTE: This portnum traffic is not sent to the public MQTT starting at firmware version 2.2.9

from enum value: RANGE_TEST_APP = 66;

REMOTE_HARDWARE_APP

Reserved for built-in GPIO/example app. See remote_hardware.proto/HardwareMessage for details on the message sent/received to this port number ENCODING: Protobuf

from enum value: REMOTE_HARDWARE_APP = 2;

REPLY_APP

Provides a 'ping' service that replies to any packet it receives. Also serves as a small example module. ENCODING: ASCII Plaintext

from enum value: REPLY_APP = 32;

ROUTING_APP

Protocol control packets for mesh protocol use. Payload is a Routing message. ENCODING: Protobuf

from enum value: ROUTING_APP = 5;

SERIAL_APP

Provides a hardware serial interface to send and receive from the Meshtastic network. Connect to the RX/TX pins of a device with 38400 8N1. Packets received from the Meshtastic network is forwarded to the RX pin while sending a packet to TX will go out to the Mesh network. Maximum packet size of 240 bytes. Module is disabled by default can be turned on by setting SERIAL_MODULE_ENABLED = 1 in SerialPlugh.cpp. ENCODING: binary undefined

from enum value: SERIAL_APP = 64;

SIMULATOR_APP

Used to let multiple instances of Linux native applications communicate as if they did using their LoRa chip. Maintained by GitHub user GUVWAF. Project files at https://github.com/GUVWAF/Meshtasticator ENCODING: Protobuf (?)

from enum value: SIMULATOR_APP = 69;

STORE_FORWARD_APP

STORE_FORWARD_APP (Work in Progress) Maintained by Jm Casler (MC Hamster) : jm@casler.org ENCODING: Protobuf

from enum value: STORE_FORWARD_APP = 65;

TELEMETRY_APP

Provides a format to send and receive telemetry data from the Meshtastic network. Maintained by Charles Crossan (crossan007) : crossan007@gmail.com ENCODING: Protobuf

from enum value: TELEMETRY_APP = 67;

TEXT_MESSAGE_APP

A simple UTF-8 text message, which even the little micros in the mesh can understand and show on their screen eventually in some circumstances even signal might send messages in this form (see below) ENCODING: UTF-8 Plaintext (?)

from enum value: TEXT_MESSAGE_APP = 1;

TEXT_MESSAGE_COMPRESSED_APP

Compressed TEXT_MESSAGE payloads. ENCODING: UTF-8 Plaintext (?) with Unishox2 Compression NOTE: The Device Firmware converts a TEXT_MESSAGE_APP to TEXT_MESSAGE_COMPRESSED_APP if the compressed payload is shorter. There's no need for app developers to do this themselves. Also the firmware will decompress any incoming TEXT_MESSAGE_COMPRESSED_APP payload and convert to TEXT_MESSAGE_APP.

from enum value: TEXT_MESSAGE_COMPRESSED_APP = 7;

TRACEROUTE_APP

Provides a traceroute functionality to show the route a packet towards a certain destination would take on the mesh. Contains a RouteDiscovery message as payload. ENCODING: Protobuf

from enum value: TRACEROUTE_APP = 70;

UNKNOWN_APP

Deprecated: do not use in new code (formerly called OPAQUE) A message sent from a device outside of the mesh, in a form the mesh does not understand NOTE: This must be 0, because it is documented in IMeshService.aidl to be so ENCODING: binary undefined

from enum value: UNKNOWN_APP = 0;

WAYPOINT_APP

Waypoint payloads. Payload is a Waypoint message. ENCODING: Protobuf

from enum value: WAYPOINT_APP = 8;

ZPS_APP

Experimental tools for estimating node position without a GPS Maintained by Github user a-f-G-U-C (a Meshtastic contributor) Project files at https://github.com/a-f-G-U-C/Meshtastic-ZPS ENCODING: arrays of int64 fields

from enum value: ZPS_APP = 68;