Voximplant has SIP connectivity that enables VoIP calls between your Voximplant application and your private PBX.
Making calls from Voximplant to PBX
To make a call, you need to use the VoxEngine.callSIP function. Basic usage requires providing the SIP URI that you want to call this way:
let call = VoxEngine.callSIP("sip:email@example.com");. By default, calls are made with UDP transport. TCP transport can be enabled by specifying it in the SIP URI:
let call = VoxEngine.callSIP("sip:firstname.lastname@example.org;transport=tcp");
Extra parameters like From header, SIP authentication etc. may be specified by passing the CallSIPParameter structure.
- Voximplant uses the same set of IP addresses for all of the customers, so it's highly recommended to use SIP authentication instead of IP whitelisting on the PBX side for reasonable security.
- You can find the list of the IP addresses used by Voximplant for SIP and RTP in our FAQ.
You can enable TLS for your SIP call by changing URI a little bit, look at the examples below:
Making calls from PBX to Voximplant
To make a call from your PBX to a Voximplant application named
myapp in an account named
myaccount, you should send an INVITE request to this host:
To header must contain the same host name in the domain portion of the URI.
From header, on the other side, shouldn't contain it and should have an IP address of your PBX in the domain part. If you include the voximplant host name in the
From header, SIP authentication will be required.
You also need to whitelist the IP addresses of your PBX instance in our Control panel or using API.
Using SIP Headers
- We support passing only headers with names starting with
X-and some additional headers like
- Please note that if you use SIP headers with long values, it's recommended to use TCP transport otherwise packets may be lost because of the IP fragmentation.