In WebRTC, 'offer' must be generated by initiating peer (i.e. the caller) and shared with other peer (i.e. the callee) via signaling channel.
The other peer, of she wishes to answer, is supposed to generate 'answer' and send it back to initiating peer. Again, via signaling channel.
In this exchange it is clear who should be preparing which piece of data, and to whom it should be shared.
The next part of the ritual is the gathering of ICE candidates. Both peers will gather their own candidate slowly (trickle ICE) and on each discovered candidate, that candidate should be shared too. Sharing is also to be done via signaling channel
What is not clear to me here is at this point, who should be sharing candidates to whom?
Should caller share with callee? Or the other way around? Or both