I went digging and indeed, I couldn't find anything official. All the subscription, binding etc. mechanisms are for objects, whose structure and binding we control ourselves. With the send/receive internals, however, these mechanisms won't work.
I put together a hack that gets me as far as the object pointers of the receive objects, but I'm missing the magic incantation to make the receiver understand what we are sending it (see attached).
thanks for any information regarding this
//void * typedMessOutput = typedmess(o, gensym("anything"), 0, 0L);
// this doesn't work, since we don't know the message name
t_max_err err = object_notify(o, gensym("notify"), buf);
// this doesn't work either