What is the border between an ideal functionality and a protocol?
There are conceptual errors in the question. Protocols define how parties should interact among themselves and with ideal functionalities (so, it does not make sense to say that one protocol requires parties to interact with another protocol). Moreover, an ideal functionality describes abstractly the behavior of something, while a protocol describes how this behavior is achieved (protocols realize ideal functionalities). Finally, in the description of a protocol the number and the level of abstraction of the ideal functionalities that are assumed as available is up to the designer.