Help developing a sip client to communicate with Asterisk


Im trying for the last few hours to create my own softphone that will be able to communicate with my asterisk server.
My asterisk server is public and on the cloud, I currently able to make a phone call between 2 sip clients who are not on the same network, one on android and the other on my com both via Zoiper, so my server is configured correctly for sure.

I want to build my own “Zoiper”, I just need help understanding how to communicate with asterisk, any guiding will be very appreciated.

The best respond here will be an example code in C# or Python of how register/connect to asterisk server.

Asterisk is an example of code that can communicate with Asterisk.