Applies to VoipNow 3 and higher! |
This article describes the SIP trunking feature and how to use it to connect a PBX to an extension. Also, it includes a set of recommendations with examples for seiting up Asterisk to act as a PBX.
When enabled at extension level, this VoipNow feature allows you to connect a PBX to the extension (when a DID assigned to that extension is called, it is passed further to the PBX in the SIP:To header). This option was added because some customers wanted to connect different PBX systems to VoipNow.
In order to enable this feature, you need a SIP trunking license. If the license is valid, in the Extension → Provisioning and SIP page, under the SIP Preferences area, you'll find the PBX is connected to this extension [] Enable for SIP trunking service option. Select this checkbox, and you will be able to connect a different PBX to that extension.
For this, you will need Asterisk box. There are plenty of installation tutorials on the web, so you shouldn't find any difficulty in installing Asterisk.
In our example, ./configure --prefix=/opt
is used to set /opt/
as a destination directory for the Asterisk files.
After completing the installation process, you will need to edit the files below:
Example of /opt/etc/asterisk/modules.conf
[modules] autoload=yes noload => pbx_gtkconsole.so noload => pbx_spool.so noload => chan_skinny.so noload => res_smdi.so noload => pbx_ael.so noload => app_voicemail.so load => res_musiconhold.so noload => chan_alsa.so noload => chan_console.so |
Example of /opt/etc/asterisk/sip.conf
[general] defaultexpirey=3600 maxexpirey=3600 disallow = all allow = g729 allow = ulaw allow = alaw bindaddr = asterisk_server_ip port = 5060 context = phones nat = no domain = your_server_ip register => 0003*001:password@voipnow_server_ip/0003*001 [mysip] fromuser = 0003*001 fromdomain = asterisk_server_ip defaultuser = 0003*001 authuser = 0003*001 dtmfmode = rfc2833 dtmf = rfc2833 disallow = all allow = g729 allow = ulaw allow = alaw type=peer host = voipnow_server_ip qualify = yes nat = no context = from-voip-provider canreinvite = yes [5000] type=friend defaultuser = 5000 secret = secret qualify=yes nat=no host=dynamic canreinvite=no disallow=all allow=alaw context=phones |
The example above registers the local Asterisk PBX to the VoipNow system using extension 0003*001
. Make sure the extension has SIP trunking enabled on the VoipNow server. 5000
is a local Asterisk extension that will be used for both incoming and outgoing calls.
Example of /opt/etc/asterisk/extensions.conf
[general] static=yes writeprotect=no clearglobalvars=no [phones] exten => 5000,1,Dial(SIP/5000) exten => _X.,1,Dial(SIP/${EXTEN}@mysip) exten => _X.,2,Hangup [from-voip-provider] exten => 18002304043,1,Dial(SIP/5000) exten => _X.,1,Congestion() |
This is a basic example of Asterisk dialplan that can place outgoing calls and receive incoming calls. 5000
is the only local extension. The rest of the prefixes matching _X.
get forwarded through the mysip
channel. The[from-voip-provider]
context is used for incoming calls.
To launch Asterisk, run the following:
/opt/sbin/asterisk -f -g -U asterisk -G asterisk |
For example, if you want to register the 5000
extension using a X-Lite softphone, you need to open its SIP accounts → Properties menu page and set:
To call a different extension (e.g. 0003*002
) from the Asterisk PBX, you need to simply dial 0003*002
).
To take incoming calls via VoipNow on extension 5000
, the [from-voip-provider]
context needs to be added. When configuring your /opt/etc/asterisk/extensions.conf
file, you must replace the 18002304043
example with the DID number assigned to your account by your SIP provider.
Note that 18002304043
is a DID number assigned in the VoipNow interface for the specific extension with enabled SIP trunking.