Terminating to SIP
With regards to SIP termination, the below outlines the different options that can be configured on your numbers within our platform.
Direct IP Termination
SIP Domain (Auto-failover via proxy or SBR)
Further advanced SIP routing is offered through use of optional feature toggles for both a custom endpoint URI as well as custom ports to receive your calls on, examples of SIP in the platform as below:
When configuring your first SIP Address in a new call node the node will default to be a phone number, this must be removed from the routing if you wish to attempt your SIP Address first. To do this, click ‘Add SIP Address’, then using the 'Move Node' symbol you must click and drag the SIP Address to replace the phone number line (this will swap them). You can then remove the PSTN configuration option using the ‘x’.
With Dynamic Userinfo, the user portion of your INVITE is pre-configured to be the inbound number receiving the call, this is handed off in E164 format as below:
INVITE sip:email@example.com;user=phone SIP/2.0
INVITE sip:firstname.lastname@example.org;user=phone SIP/2.0
Dynamic Userinfo is on by default and is the simplest of configuration options, if you wish to terminate calls like this ensure that the ‘Add User Info’ box is unticked, calls will automatically have the SIP header appended with the inbound number. To configure this option click ‘Add SIP Address’ and insert your IP or domain, a name is also required for reporting purposes.
If you would like to terminate to a custom URI this can be done through the ‘Add User Info’ tickbox. When ticked this will append a new blank field in the call node panel, you can then input any user information you wish to see, this can be any valid option from extensions to names of users, provided you have setup the endpoint to receive calls from us.
INVITE sip:email@example.com;user=phone SIP/2.0
INVITE sip:firstname.lastname@example.org;user=phone SIP/2.0
You may also control the ports to accept calls on using the ‘Add Port’ tickbox. If you run on the default SIP port 5060 you don’t need to specify the ports as per the example at the start of this guide, both custom UserInfo and custom ports can be used together.
Caller ID Example
The caller ID will be in the From: details of the invite, likewise in the E.164 format:
From: “anonymous” <sip:email@example.com>;tag=Kjyg0v1vg2crK
PSTN redundancy can also be used, you can add in your PSTN number to be a failover, either in the same node or as a separate call node/set of routing after the original node.
We would highly recommend working with us to enable this as a feature as you would be able to take advantage of:
- Fewer points of failure due to fewer carrier networks included in the call topology.
- Greater control at the SBC or PBX level, to create rules based on SIP invite/headers.
- Ability to use secondary+ routing options with your SIP IP as the primary and landline/mobiles as redundant lines.
- Full call path visibility for advanced troubleshooting and quicker fix time.
To ensure connectivity when setting up a new service, please ensure you have our whitelisted, our IPs are listed below all of which originate from GCP (Google Cloud Platform):
SIP Traffic will come from one of the SIP proxies, however we ask that you whitelabel our Freeswitch IPs as redundancy. We will ensure notification is given of any changes to these IPs.
Failover to SIP will occur in the following scenarios:
- When the host responds with an ICMP Destination Unavailable packet.
- When the host does not respond, and timers expire.
- When call setup times out.
- On specific ITU-T Q.850 codes.
- On specific SIP status codes.
- ICMP Destination Unavailable
If the destination host is alive but the SIP service is not running, the operating system may respond with an ICMP Destination Unavailable packet. If this is received, failover will occur immediately.
If the destination host does not respond in a timely manner to the initial SIP INVITE, failover will occur after attempting to retransmit the SIP INVITE.
Retransmission attempts will occur at T+500ms, T+1000ms and T+2000ms. If no response is received by T+4000ms, failover will occur.
If the call attempt is actively rejected by the destination host and contains a ITU-T Q.850 Reason header, the ITU-T Q.850 code will be used to control the failover and the SIP status code will not be used. Failover will occur on the following codes:
SIP Status Code:
If the ITU-T Q.850 Reason header is not specified, failover will occur based on the SIP response code. Failover will occur on certain 4xx and 5xx status codes.
We will make all efforts to transcribe audio where possible but we would ask that clients use G.711A Law as this is the preferred codec on our network as well as most other carrier networks in Australia.
We have notifications and monitoring set for most 5XX and 6XX codes for all traffic running through the network. SMS’ are sent to ops team members for repeated failures codes within predefined parameters but customers should still ensure their own due diligence is completed through their own monitoring services as this is a broader network wide monitoring.
If you are having issues with your numbers please when possible provide at least 2 examples with a PCAP (Packet Capture) of the issue and pass this through to support along with the time, date and A/B parties. If your issue is urgent please ensure you call through the issue through after lodging a ticket to ensure that the issue is resolved as soon as possible.