We currently use default values (e.g. "" for string) in register requests to specify the type of an argument of a remote function.
To improve compatibility, argument types should be represented by integers matching the types already in use (msg_object_type in sb-rpc.h):
typedef enum {
OBJECT_TYPE_NIL,
OBJECT_TYPE_INT,
OBJECT_TYPE_UINT,
OBJECT_TYPE_BOOL,
OBJECT_TYPE_FLOAT,
OBJECT_TYPE_STR,
OBJECT_TYPE_BIN,
OBJECT_TYPE_ARRAY,
} message_object_type;