Provisioning, Voicemail, and SIP Labs
IP Addressing & Phone Extensions
These are the IP addresses and phone extension numbers assigned to your pod which you can use for your pod.
Pod | Asterisk ens192 IP | Pod Router Fa0/0 IP | Phone Extension Range | Classroom Switch Asterisk Port |
---|---|---|---|---|
Pod A |
172.17.219.11/24 |
172.17.144.11/24 |
2100-2199 |
Gi1/0/31 |
Pod B |
172.17.219.12/24 |
172.17.144.12/24 |
2200-2299 |
Gi1/0/32 |
Pod C |
172.17.219.13/24 |
172.17.144.13/24 |
2300-2399 |
Gi1/0/33 |
Pod D |
172.17.219.14/24 |
172.17.144.14/24 |
2400-2499 |
Gi1/0/34 |
Pod E |
172.17.219.15/24 |
172.17.144.15/24 |
2500-2599 |
Gi1/0/35 |
Pod F |
172.17.219.16/24 |
172.17.144.16/24 |
2600-2699 |
Gi1/0/36 |
Pod G |
172.17.219.17/24 |
172.17.144.17/24 |
2700-2799 |
Gi1/0/37 |
Pod H |
172.17.219.18/24 |
172.17.144.18/24 |
2800-2899 |
Gi1/0/38 |
Pod I |
172.17.219.19/24 |
172.17.144.19/24 |
2900-2999 |
Gi1/0/39 |
Pod J |
172.17.219.20/24 |
172.17.144.20/24 |
3000-3099 |
Gi1/0/40 |
Asterisk Server ens192 Interface:
The ens192 interface on your Asterisk server is used to connect with other pods, the Internet, and your SIP PSTN provider. |
-
Default Gateway: 172.17.219.1
-
DNS Server: 172.17.139.11
Asterisk Server ens224 Interface:
The ens224 interface on your Asterisk server is used to connect with your IP phones on the same layer 2 network as the phones and without going through NAT which simplifies the configuration. |
-
IP Address (same for all pods because it’s inside behind your NAT): 192.168.10.3/24
-
No default gateway or DNS servers for this interface
Pod Router:
-
Default Gateway: 172.17.144.1
-
DNS Server: 172.17.139.11
The XX99 extension will be used for future voicemail capability so that one should not be used for a regular phone/line. |
Work you can do remotely
In genreal you will be able to change all the configuration files and do all the software installation work remotely if you want. You will need to come to campus and setup the network with the router, switch, and phones in order to test anything, get the correct MAC addresses to put in the configurations, etc.
-
You will be able to configure the files to enable voicemail on the extensions you setup in the previous lab.
-
You will be able to do the SIP configuration work (transport, lines, authenticaion, AoRs, voicemail)
-
You will be able to install, register, and license the DPMA software
-
You will be able to do the phone and line configuration for the DPMA phones, but will need to use fake MAC addresses until you get to campus and find the MAC addresses for your phones
-
You will be able to do the extensions and voicemail configuration for all of the phones
Internal Network Setup
When you are on campus and working with your IP phones you will need to setup your internal network with your pod router and switch as you did for the previous lab.
-
Use the sample switch and router configurations (need to be modified with correct IP addressing for your pod) to configure the router as a NAT device and DHCP server for your pod LAN.
-
Connect port Fa0/0 on your pod router to an available port on the B144 ITCnet classroom switch.
-
Connect for Fa0/1 on your pod router to port Gi1/0/24 on your pod switch.
-
Connect for port Gi1/0/23 on your pod switch to the correct port on the classroom switch identified in the table at the top of the lab. This connection will make a layer 2 connection from your Asterisk server’s ens224 interface to your internal pod network (the 192.168.10.0/24 subnet).
-
Sign in to a second PC in the classroom. After you have successfully signed in connect that PC to port Gi1/0/1 on your pod switch.
-
Because of our NAT and DHCP setup on the router even after connecting to the pod LAN the second PC should still have working Internet access. It should also be able to now ping both the inside and outside IP addresses of your pod’s Asterisk server and access the server using PuTTY (SSH) and Filezilla (SCP).
Of course, make sure that your Asterisk server is up and running! It’s strongly suggested you connect to and work on your Asterisk server over SSH from this point on instead of trying to use the Netlab console. Cut and paste support works in PuTTY which it does not in the Netlab console and can transfer files in and out of your server using Filezilla. -
Setup your two Cisco IP phones and ensure they are working (can call each other and can call the extension 1000 demo).
Voicemail
It’s expected that you have done your readings before beginning this lab. The lab will outline the tasks to do and give helpful tips but the readings contain details about how to configure the various parts of this lab. |
-
Create a new extension xx99 (with the correct replacement for the x’s depending on your pod — see the chart at the top) which will call into the voicemail system and allow users to retrieve messages
What file manages the dialplan? You’ll need to edit this file and add a new extension which calls into the Voicemail application when a user dials that extension. -
Create voicemail mailboxes for your xx01 and xx02 extensions with the PIN set to 1234
This is done in the voicemail configuration file. You will need to add two new extensions with PINs to this file. You don’t need fancy features like email setup. Just a simple mailbox with a PIN is needed for each extension. -
Try accessing both voicemail boxes by dialing xx99 and change the greetings on each voicemail box so that you can tell the two apart. Note that you will need to reload the dialplan and voicemail configurations in Asterisk after making the changes to them.
-
Create and modify the required entries in your dialplan to send callers for both the xx01 and xx02 extensions to the correct voicemail box with the unavailable greeting if the call is not answered within 10 seconds.
Remember that you will need to reload the dialplan in Asterisk after making the changes to it before they take effect.
You’ll need to add more priorities to each extension. The first one will ring the phone for 10 seconds and the phone for the specified amount of time and then if it’s no answered the second will send the call to the voicemail box and play the unavailable greeting. |
-
Test leaving and retrieving messages from both extensions.
-
Enable and test the Message Waiting Indicator (MWI) for the phones in the SCCP configuration. See the sample sccp.conf file and the pages linked to from there for hints on doing this.
You may need to restart the Asterisk software on your VM in order to get the MWI lights to work. This can be done with the systemctl restart asterisk
command.
Generic SIP Phone Setup
In this section of the lab you will manually provision a generic SIP phone, the Digium A25 in this case. Note that almost all SIP phones have a way to do automated provisioning, some are better than others though. Typically this involves using some DHCP option to provide the IP address of a TFTP server. Unlike the Cisco SCCP and Digium DPMA protocols though you usually need to have a unique configuration file for each phone on the TFTP server which is identified by MAC address and that configuration files includes all of the settings for each line. Some manufacturers provideo software to help generate all these files faster, in other cases software must be purchased or written yourself if you do not want to manually create all the files.
We will manually configure the SIP phone with settings through it’s web user interface instead of using TFTP configuration methods. Most generic SIP phones can be configured this way through a web interface though it is typically only feasible for very small VoIP installations as it is simple to do but slow.
-
Configure port Gi1/0/4 on your switch the same way your other VoIP phone ports are configured
-
Get an Asterisk A25 phone and connect it to port Gi1/0/4 on your switch through the classroom wiring.
-
Use the menus on the phone to obtain the IP address for your new phone
-
Since we will be manually provisioning the phone using the web interface open a web browser on a PC attached to your internal network and browse to the IP address of the new phone. Login with the username admin and password 789
-
Edit your
pjsip.conf
file as required to create a new transport, line, authentication, and AoR section to use on the phone at extension xx03. See the sample pjsip.conf file for some hints.After modifying the pjsip.conf file you will need to at least reload the pjsip configuration in Asterisk and if you are setting up your first transport you should restart Asterisk instead of just reloading the configuration. This can be done with the systemctl restart asterisk
command. -
On the phone admin line settings webpage configure SIP Line 1 with the required user name, display name, authentication name, authentication password, SIP Proxy server address (the internal IP of your Asterisk server), and check the box to activate the line.
-
Modify your dialplan to configure extension xx03 to call your PJSIP line. Remember that you need to reload your dialplan to have this take effect.
-
Create a voicemail box for xx03 and enable support for MWI subscribe notifications in the PJSIP configuration file
-
Modify the advanced SIP Line configuration webpage on the phone to enable "Subscribe for Voice Message" and set the Voice Message Number to xx99
-
Test leaving a voicemail for the new phone and ensure the MWI light blinks when there is a message.
-
Modify the advanced Phone Settings → Power LED settings webpage on the phone to enable the SMS/MWI function.
-
Test leaving a voicemail for the new phone and ensure the power led comes on when there is a message.
Digium DPMA Phone Provisioning
-
Sign up for an account on the Digium store and after logging in click here to "purchase" a free DPMA key.
-
Install the avahi-daemon and libavahi-client3 packages on your Debian server. These packages support Multicast DNS (aka mDNS or Bonjour) which is one way that the DPMA phones can find your Asterisk server and the method we will use. Because multicast traffic does not generally work outside of a single layer 2 subnet if you had your Asterisk server on a different subnet you would need to use an alternative method such as the DHCP option 66 method.
-
Get two Digium D60 phones. Do NOT connect them to the switch yet.
-
Create a basic
res_digium_phone.conf
file for your phone with the correct MAC addresses and settingss for a xx04 and xx05 extension. See the sample res_digium_phone.conf file for some hints. -
Follow the Asterisk DPMA installation instructions (you will need to download this README file and open in a text editor to get the instructions) to download the registration program (be sure to use the 64 bit one!) as well as to download and install the DPMA module (again you want the 64 bit one for Asterisk version 16)
Make sure to get the current one for Asterisk Version 16. If you get one for a different version of Asterisk you will crash Asterisk when you try to load it. -
The DPMA Installation README instructions have some missing instructions. After downloading and extracting the res_digium_phone archive, they only tell you to copy the res_digium_phone.so file to the /usr/lib/asterisk/modules directory. However, you actually need to copy all 3 module files ending with .so from the extracted archive to the /usr/lib/asterisk/modules directory.
-
After copying the extracted modules you should restart the asterisk software to load the modules.
-
Configure ports Gi1/0/5 and Gi1/0/6 on your switch the same way your other VoIP phone ports are configured
-
Create the required global entries in your PJSIP file for DPMA configuration use
-
Create the required entries for the xx04 and xx05 lines in your PJSIP, Voicemail, and dialplan configuration files as well.
-
You probably want to restart the Asterisk software on your system again at this point to re-load all the configuration files and re-load all the modules. If you make further changes to configuration files make sure that the config file is reloaded by Asterisk so the changes are applied.
-
Plug your two D60 phones into the switch. They should find the Asterisk server and configure themselves in a similar way to the SCCP phones
-
Test calling to and from the D60 phones as well as leaving and retrieving messages from the phones. Be sure to test the voicemail button on the phone to see an example of a visual voicemail application as well.
Cleanup
-
Safely shutdown your Debian system
-
Erase your switch/router configuration
-
Put away all equipment and cables. Be sure to note which phones you have so that next week you’ll be able to get the same five phones.
Document Build Time: 2024-10-30 23:55:40 UTC
Page Version: 2023.08
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License