I think that there is a fine dividing line between the notion of the
error code, and details of the actual format of the error codes.
Having seen what happens when there is ambiguity, I think that putting
the error codes and their meaning as close as possible to the model
is a good idea. Note that this format/intent/meaning then becomes
'transportation protocol independent'.