How to setup SIP Trunking

In order to configure your PBX after purchasing SIP Trunking from Windsor Telecom, you'll require the following details:

  • The 6-digit Trunk username
  • A password
  • The domain your service will run on

Helpful technical information for implementing trunks

This information is designed to help you configure your SIP trunks across a variety of platforms.

Some of the most common SIP headers and how we use them are listed below. Each PBX will have its own method for manipulating these headers, but this guide should help with any uncertainties.

Important

Please ensure you have checked our IP Addresses and Whitelisting article to ensure the correct ports and IP addresses are unlocked from any firewalls. If they're blocked by a firewall, you may experience issues with your calls.

Please note: The fields within brackets [ ] are dependent on your configuration and the below examples have been redacted for clarity.

 

Registration

Registration works on a standard Register > Challenge > Register (with authentication) basis. Credentials for registration can be found on each individual trunk by selecting 'Connect a Device'.

More information can be found on the 'Trunk Overview' page.

Please note that registration to our servers is required for inbound calls to the function. No registration is required for outbound calls and these can be handled with an authorisation digest response to our 401 challenge. During configuration, ensure you set authorisation to 'Outbound only'.

Important registration headers

FROM: (User Part) = Trunk username: 6-digit username we have provided

FROM: (Host Part) = The authentication server: sip.voip123.co.uk

TO: (User Part) = Trunk username: 6-digit username we have provided

TO: (Host Part) = The authentication server: sip.voip123.co.uk

CONTACT: (User Part) = Optional
Allows you to manipulate the URI User part for incoming calls via this registration.

REGISTER SIP: sip.voip123.co.uk SIP/2.0
Via: SIP/2.0/UDP [YourPBXHost]:5060

 

From: <sip:[TrunkUsername]@sip.voip123.co.uk>
To: <sip:[TrunkUsername]@sip.voip123.co.uk>
Call-ID: xxx
CSeq: 46754 REGISTER
Contact: <sip:[PBXContact]@[YourPBXHost]:5060>
Expires: 300
Allow: OPTIONS, REGISTER, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE, CANCEL, UPDATE, PRACK, MESSAGE, REFER
Max-Forwards: 70
User-Agent: PBX
Content-Length: 0

Outbound

Outbound calls are made via trunks and will function on an Invite > Challenge > Invite (with authentication) basis.

By default, the CLI will be set by using the one set on the trunk. If you wish to add presentation numbers to your account, please contact us on support@windsor-telecom.co.uk.

Important Outbound Headers

Outbound Headers: Generally, there is a ‘User’ and a ‘Host’ part of the configuration.

 

FROM: (User Part) = Trunk username: The 6 digit Username we have provided.

FROM: (Host Part) = Trunk username: The 6 digit Username we have provided.

TO: (User Part) = The destination number in either e164 or national format.

TO: (Host Part) = Trunk username: The 6 digit Username we have provided.

 

P-Preferred-Identity

(User Part) = This setting is the number you wish to present when dialling out.

(Optional: If you don't specify this setting, we will use the default on the trunk).

The numbers configured and selected must either be an incoming number or a presentation number on your account. If this is not the case, the trunk default presentation number is used.

Sample Outbound Invite

INVITE sip:[DestinationNumber]@sip.voip123.co.uk SIP/2.0
Via: SIP/2.0/UDP [YourPBXHost]:5060
From: <sip:[TrunkUsername]@sip.voip123.co.uk>
To: <sip:[DestinationNumber]@sip.voip123.co.uk>
Contact: <sip:pbx@[YourPBXHost]:5060>
Call-ID: 
CSeq: 14415 INVITE
Allow: OPTIONS, REGISTER, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE, CANCEL, UPDATE, PRACK, MESSAGE, REFER
Supported: 100rel, timer, replaces, norefersub
Session-Expires: 1800
Min-SE: 90
Max-Forwards: 70
User-Agent: PBX
Content-Type: application/sdp
Content-Length: 260

Inbound

Inbound calls will be sent to your PBX with a URI User matching either [TrunkUsername] as default or [PBXContact] if you set that during Registration.

Typically you would use the [PBXContact]/[TrunkUsername] to control where on your PBX the call enters and then route within your system based on the [CalledNumber] (the inbound number)

Important Inbound Headers

INVITE URI: (User Part) = Most PBX configurations will use this to determine whether the call should be accepted or not and where it should start its journey on the platform

FROM: (User Part) = This is the CLI for the caller

TO: (User Part) = This is the destination number and should be used to route the call to the correct place on your system

 

Sample Inbound Invite

INVITE sip:[PBXContact]@[YourPBXHost]:5060 SIP/2.0
Record-Route: 
Max-Forwards: 69
From: "[CallerNumber]" <sip:[CallerNumber]@sip.sipcentric.com>
To: <sip:[CalleeNumber]@sip.sipcentric.com>
Contact: <sip:[CallerNumber]@149.91.14.9:5070>
Call-ID:
CSeq: 102 INVITE
User-Agent: Sipcentric PBX
Date: 
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Content-Type: application/sdp
Content-Length: 261