Yes you are correct that is human to human I linked.
For intra / inter app messaging it is super simple. The routing API has a POST call there. In this call it will transport any type across the network from client ↔ client | vault ↔ client | vault ↔ vault. The vault side for now is limited to vault types. That will change in the future, but client types are limited by the client only. We need to get that through the client interface, which we can. This will then provide a via the network messaging system for apps.
At the moment though, crust can make connections between any device and can transport messages direct. This is a reason for crust to become multi protocol now, so we have tcp and utp (reliable udp). Adding udp and streaming messages there will be simple enough, but for now using the existing transports will allow device to device open communications (caveat, devices need to be able to handle the NAT traversal offered by crust, in the network they can actually relay via nodes, so easier to traverse nat). We are also looking at CRUST encryption, for us we want to pass down encryption keys, but for direct comms we may have to allow crust to use diffie hellman, I prefer not to as we are MiTM resilient and I don’t want to lose that.
An area we can certainly make fast headway in when we get feature complete. The network will allow device discovery and then apps can direct connect (for voip etc.) and soon will be able to use the network transport itself with all the added security that would bring.