Changes

Jump to: navigation, search

FireBrick SIP Configuration

2,013 bytes added, 14:57, 11 May 2018
this is important
[[File:2700-small.png|link=:Category:FireBrick]]
Also see: [http://www.firebrick.co.uk/fb2700/voip.php FireBrick VoIP Page] which has more details about the feature.
 
=Overview=
''(This is a first draft and may need updating. - 10 October 2010)''
[[File:Pbvoipicon.png]]Also see: [http://www.firebrick.co.uk/fb2700/voip.php FireBrick VoIP Page] which has more details about the feature, as well as the [http://www.firebrick.co.uk/manuals.php?PRODUCT=2700 FireBrick Manuals] which contain a VoIP section.
 
The FireBrick can be used for VoIP by being a VoIP gateway (FBSIP). Your local (or remote) SIP devices register against the FireBrick, and the FireBrick registers to your SIP provider, in a sense the Firebrick acts as a back-to-back SIP gateway.
 
You can have multiple SIP provider (carrier) accounts, and incoming calls can be routed to internal extensions and these extensions can be individual phones or a group which can then ring multiple phones in various ways. An advantage of using the FireBrick in this way is where you are forced to use RFC1918 IP addresses (private) on your LAN and the FireBrick is NATing traffic. Typically the FireBrick will be connected to the ISP by PPP itself and will have a public IP address, therefore the SIP is not being put through NAT. (SIP and NAT don't work well together)
We'll set this up so that incoming calls route to a 'ring group', which in turn will route to a number of internal extensions. Outgoing calls from the local phones will all go out via the single SIP account with the service provider.
 
==SIP and NAT==
First, a few comments about SIP, NAT and the FireBrick...
The FireBrick maps ports and IPs for NAT but provides no ALG for SIP or any other protocol. SIP is notoriously difficult with any sort of NAT, with or without ALGs. AAISP will be happy to route a block of IP addresses for use with VoIP phones, and the FireBrick can be configured to use these, and even allocate phones from the same manufacturer the correct IP by DHCP.
 
We have seen SIP work with FireBricks in this case, where the end device and the SIP call server both do things in just the right strange and non standard way to cope with the mapping, but it is rare. It also usually requires that UDP sessions be configured to be open for a long time on the FireBrick (ongoing-timeout setting on the firewall rules).
 
In general we would never suggest using SIP with NAT for this reason, and it is partly why the FireBrick itself includes a full back to back SIP gateway allowing SIP registrations in and out and a-law RTP via the
 
FireBrick. Used in this way it can avoid any NAT issues, but does specifically need configuring to meet your needs.
 
Having said this, the a FireBrick acting as a SIP server that itself is not behind NAT will try to cope with SIP clients that are behind NAT. This means that in many cases if there are SIP phones behind NAT than they may well work when registering against the FireBrick.
= Prioritising VoIP Traffic=
 
[[File:FBVoIPDia.png|border]]
 
== Prioritising VoIP Traffic==
The FireBrick has built in configuration to give priority to small packets. This would include RTP as well as DNS, SSH and other real time protocols that send small packets.
 
Normally there is no need to add any extra shaping to improve VoIP through a FireBrick.
 
= SetSeting-up SIP on the FireBrick =
[[File:Pbvoipicon.png]] Go to Config - Edit - Setup - Edit VoIP config.
 
Go to Config - Edit - Setup - Edit VoIP config.
 
== Add a carrier ==
[[File:FireBrick-VoIP-AA2.png|thumb|Carrier Screenshot]]
This is the SIP service that you're connecting to:
 
{| border="1" cellpadding="1" cellspacing="1" class="wikitable"
This is the SIP account that you're connecting to:
|-
 
! Config Item
{| border="1" cellpadding="1" cellspacing="1"
! Value
! Description
|-
| name
| AASIPAAISP
| Just a name for this particular carrier account
|-
| Comment
| Main Office Number
| Just for your information
|-
| username
| +441234567890
|
| Your SIP account name as supplied by your carrier (PhoneWith AAISP, it's the phone number)
 
|-
| password
| ****
| SIP account password
| Your SIP account password with the carrier
|-
| registrar
| voiceless.aa.net.uk
| SIP Registrar server: registrar.aasip.co.uk
| The SIP Registrar server, supplied by the carrier
|-
| proxy
|
| SIP Proxy server, proxy.aasip.co.uk
| Not normally needed if using AAISP
|-
| extn
| 100
| Internal extension number to call for incoming calls, 100
| Internal extension number '''where incoming calls are routed to (e.g. a user or a group)'''
|-
| allow
| IPs that are allowed to talk SIP to us (ie providers IPs), 81.187.30.110-119
| IPs that are allowed to talk SIP to us (i.e. the carriers IPs). (Optional)
|-
| display-name
| Name shown on phones, Office}
| The Name shown on the phones for incoming calls
|}
Click Save.
 
xml:
<source lang=xml>
<carrier name="AASIP" display-name="Main" allow="81.187.30.110-119" registrar="registrar.aasip.co.uk" proxy="proxy.aasip.co.uk" username="01234567890" password="secret" extn="100" comment="Main Office Number"/>
<carrier name="AAISP" display-name="Main" allow="81.187.30.110-119" registrar="voiceless.aa.net.uk"username="01234567890" password="secret" extn="100" comment="Main Office Number"/>
</source>
 
If you go to Status - VoIP, you should see the Carrier listed with an expiry - this shows that the FireBrick is registered to the server.
 
If you have further SIP accounts with carriers then add those too.
 
==Next create some users==
If you go to Status - VoIP, you should see the Carrier listed with an expiry - this shows that the FireBrick is registered to the server
[[File:FireBrick-VoIP-AA3.png|thumb|VoIP User Screenshot]]
 
==Next create some users:==
These will be your local SIP user accounts that your telephones use to register against the FireBrick with.
Go to: Config - Edit - Setup - Edit VoIP config
Add new VoIP user:
 
{| border="1" cellpadding="1" cellspacing="1" class="wikitable"
|-
! Config Item
! Value
! Description
|-
| name
| John
| The name for this user
|-
| display-name
| John
| Displayed a part of the CLI
|-
| username
| john
| The SIP account username that the phone will use
|-
| password
| *******
| The SIP account password that the phone will use
|-
| allow
| x.x.x.x/24
| IPs that are allowed to register, put in your LAN ip addresses, eg, x.x.x.x/27
| IPs that are allowed to register, put in your LAN ip addresses, e.g.,
|-
| ddi
| +441234567890
| The full number for this user, ie same as the carrier's number assigned to you.
| The full number for this user, i.e. same as the carrier's number assigned to you.
|-
| extn
| 101
| John's internal extension number, eg 101
| John's internal extension number, can be anything really
|-
| carrier
| AAISP
| Pick AASIP, this will be the carrier John uses to dial out on
| This will be the carrier John uses to dial out on
|-
| max-calls
| 1
| 1, if you just want to make 1 call at a time with this account
| If you just want to make 1 call at a time with this account (Optional)
|}
 
 
xml:
<source lang=xml>
<telephone name="John" display-name="John" username="john" password="secret" allow="192.168.1.0/24" ddi="+441234567890" extn="101" carrier="AASIP" max-calls="1"/>
<telephone name="John" display-name="John" username="john" password="secret" allow="192.168.1.0/24" ddi="+441234567890" extn="101" carrier="AAISP" max-calls="1"/>
</source>
 
You can repeat this process for your other users, changing the extn each time, e.g. 102, 103 etc.
 
You can repeat this process for your other users, changing the extn each time, eg 102, 103 etc.
At this point you can configure your SIP phones to register to the FireBrick with the credentials you've specified above.
You can then test by calling each other using the extn numbers assigned.
 
==Create a Ring Group==
ThisRing willgroups are optional, and allow multiple extensions to be called at once. Here we will create our ring group for incoming calls so that our main number rings all our phones.
 
Go to: Config - Edit - Setup - Edit VoIP config
Click Add New
{| border="1" cellpadding="1" cellspacing="1" class="wikitable"
|-
| name
| Main
| Just a name for this group
|-
| display-name
| Main
| The name that will display on the phone, eg Main
| The name that will display on the phone, e.g.
|-
| extn
| 100
| 100 - this is the extension number used in the Carrier section above
| This is the extension number for this group, used in the Carrier section above
|-
| ddi
|
| the telephone number.
|-
| ring
| 101 102 103
| space separate list of the internal extension numbers to ring, eg 101 102 103
| space separated list of the internal extension numbers to ring
|-
| type
| Ring All
| This is the ring type, eg to ring all at once etc.
| This is the ring type, e.g. to ring all at once etc.
|}
Click save.
 
xml:
<source lang=xml>
<group name="Main" display-name="Main" extn="100" ddi="+441234567890" ring="101 102 103" type="all"/>
</source>
 
==Firewall==
SIP and RTP trafficYou will need to beopen allowedthe infirewall if you are actually fire-walling traffic to the FireBrick. This- willoften needpeople tojust befirewall fromtraffic to the carrierLAN, butand alsotherefore fromall externaltraffic SIPto phonesthe ifFireBrick youis have anyallowed.
Take a look at this wiki page for more info: [[FireBrick_2700#VoIP_Rules FireBrick_2700#VoIP_Rules]]
 
SIP and RTP traffic will need to be allowed into the FireBrick. This will need to be from the carrier, but also from external SIP phones if you have any.
Take a look at this wiki page for more info: [[FireBrick_2700#VoIP_Rules FireBrick_2700#VoIP Rules|FireBrick and VoIP Firewall]]
 
[[Category:FireBrick VoIP]]
[[Category:VoIP]]
107
edits

Navigation menu