Voximplant supports calls between IP-based (non-PSTN) endpoints such as web pages with our Web SDK, Android, and iOS devices with our mobile SDKs and SIP-enabled software or hardware devices. For this purpose, there is a user concept in Voximplant – you create users inside applications and use their credentials for non-PSTN calls.
Users can be created programmatically via the HTTP API or the control panel: switch to the Users tab in the application and either click Create in the center of the screen or Create user in the upper right corner.
Once there is a user in our app, we can call that user using the callUser method in the scenario associated with the same application. Here you need to specify username and callerid. Caller ID is optional, but if you don't specify it, the call will be displayed as anonymous.
Web and mobile SDK users can send media to call each other in peer-to-peer (P2P) mode without traversing Voximplant's cloud. In P2P mode, Voximplant's cloud is used for signaling and for STUN and TURN NAT traversal functions if needed.
There is a callUserDirect method for this purpose: the method requires specifying the incomingCall and username parameters, the other parameters are optional. But make sure you set a caller ID as we did in the previous example, otherwise, your call will be displayed as anonymous. To do that, you need to use the callUserDirect parameters.