Although devices in a DoIP network can decide for themselves which messages to use, a little consensus about the definition of certain messages is needed in order to let devices communicate with eachother without configuration. Therefore, there are a few standard message sets defined. Devices can implement these sets by supporting the messages that are defined in them following the specification. It is also allowed to partially implement a message set (i.e. only a few messages) as long as the messages that are implemented are implemented right and the missing message are left out because they are not applicable.
Messages in DoIP more or less look like (the last part of) a URL. An example message is '/ep/basic/power/off'. In most cases, the slashes are used like with directories: they separate logical message sets. Vendors that want to use their own message sets are asked to put them in a separate, uniquely identifiable namespace; i.e. '/acme-inc/proprietary-thing/message'; in this way, there can be no different specifications for the same message path.
Message sets that are generally accepted and applicable are posted on this website; you are encouraged to propose your message set as a general standard if it is designed in a way such that other devices could be used with it too, and it doesn't overlap with existing standard message sets.