I guess there's something I'm missing here. I understand it is phone -> Signal server -> other phone. So don't you only need to know how to talk to the Signal server? Which should be in the OS app? So your app would just need to know which server to communicate with the right person. People that are on the Signal server get contacted through the Signal server. People on a federated server get communications passed through there.
I'm sorry if this is a dumb question. I'm really curious but I don't know much about this space. What is Signal doing that restricts you from talking to it?