How does the internal call protocol work?