|
Asterisk Tips/Fixes/Features
by
John Johnson
These
are various Asterisk how-to items I have found/developed over the last few
years. Feel free to use or share them, I look forward to adding more as I
am able to compile them into a share-able format from my own notes.
“Experience
is what you don’t get until just after you needed it.”
|
Home
Cisco 79xx Asterisk Setup
John Johnson 1/10/2013
Having
recently rolled out an asterisk implementation re-purposing over forty
Cisco 7941 and 7961 phones, I wanted to share my experience to hopefully
save some other technicians some grief.
|
The first step was to re-flash the
phones to use SIP rather than SCCP.
While I did not include any 7940-60 phones in this implementation I
will include them in these instructions in that I have tested successfully
with one 7940 and good odds you will run into them out there. Now these
phones, 7940-60 /41-61 look identical but are completely different! They
use different firmware and different configuration file formats! On the
other hand, the same method is used to load new firmware on each model and
deliver the configuration files to connect them to an Asterisk server.
Requirements to flash phones:
DHCP and TFTP servers.
Appropriate firmware files.
|
The
Cisco 79xx series (while running SCCP) use a special DHCP delivered code to
identify their TFTP server, most systems use a more common code; 66, but
the 79xx use 150. I have been unable to get the DHCP server included in
Centos to deliver code 150 and have had to use an outside DHCP server to
deliver it. Now, in many cases where you are replacing a Cisco Call Manager
with an Asterisk server you will find a Cisco based DHCP server in place
that can deliver the code 150 for you, but if not you can use Tftpd32, a
piece of freeware from Mr. Philippe Jounin, you
can download it here. Following are
instructions to use it:
Using
Tftpd32 you can set up a “mini network” that will; assign IP addresses to
the phones, direct them to the new firmware files and flash the phones
automatically. Under DHCP server within the tftpd32 program, enter the
following and click SAVE:
-IP pool starting address as 192.168.1.2
-Size of pool as 250 (if doing multiple phones, this just makes sure your
phones are able to receive an ip
address)
-Default router as 192.168.1.1
-Mask as 255.255.255.0
-Additional option, enter 150 in the first box, then 0x0101A8C0 in the second box (this number is
192.168.1.1 in Hexadecimal).
Save the appropriate new firmware files
for your phone model (see below) in the tftp
folder specified in Tftpd32, then connect the phones to your network and
watch them flash themselves. This
is a picture of me using Tftpd32 on my laptop
to re-flash a group of 79xx phones to SIP.
|
After
the phones are re-flashed to SIP they can be attached to the live network
and will respond to the standard DHCP 66 code or can be manually pointed to
the Asterisk server tftp
to pick up their individual configuration files (see below) and attach as
extensions.
Now, setup TFTP configuration files on
the server so your newly flashed SIP phones can find them; (TFTP is
generally installed and running by default, but here are instructions to
check/install it if need be)
You need to download the appropriate
firmware files for your phones i.e. P0S3-07-5-00.zip and
cmterm-7940-7960-8.2.00-sip.cop (For the 7940/7960) and/or
cmterm-7941_7961-sip.8-5-2.zip (For the 7941/7961). They are available from
Cisco via your SmartNet contract 7940-60 here and 7941-61 here. These are
examples of what they should look like when unzipped into your tftpboot folder: 7940-60 files and 7941-61 files.
|
These
are the files needed for 7940-60;
OS79XX.TXT The one line of text contained in this
file is the filename of the firmware that these phones are to make use for
connection, it is plain text and can be cut and paste from the example
above. Only one of these is needed for all phones.
SIPDefault.cnf This file contains general settings
for all the 7940-60 phones in the deployment outside of extension specific
settings. It is also plain text, replace xxx.xxx.xxx.xxx with your server IP, the CST with your timezone and other fields you need with appropriate data. Only
one of these is needed for all phones.
SIPMacaddress.cnf This file contains the extension specific
details for each individual phone extension
replace Macaddress” in the file name with the mac address of the specific phone (all alpha uppercase!!),
one file for each phone. It is also plain text, replace xxx.xxx.xxx.xxx with your server IP, “extension” with the appropriate
number, “label” with a short word (6 Chrtrs) for
the extension button, “secret” with the extension password from FreePBX, and “device_label” with a longer word or phrase (app 12 Chrtrs).
SEP79x0.cnf.xml This file contains specific details for each individual phone model This
file is not plain text but an
.xml file! So don’t cut and paste it casually! Download the appropriate
version for the phone and use an editor like notepad++ or other .xml editor
if you need to change info in the file. Here is the 7940 version and here is the 7960 version
|
These
are the files needed for 7941-61;
dialplan.xml This is a default file for all phones, you
only need one. This file is not
plain text but an .xml file! So don’t cut and paste it casually!
Download the file and use an editor like notepad++ or other .xml editor if
you need to change info in the file.
XMLDefault.cnf.xml This is a
default file for all phones, you only need one. This file is not plain text but an .xml file! So
don’t cut and paste it casually! Download the file and use an editor like
notepad++ or other .xml editor if you need to change info in the file.
SEPMacaddress.cnf.xml This
file contains the extension specific details for each individual phone replace Macaddress” in the file name with the mac address of the specific phone (all alpha uppercase!!),
one file for each phone. This file is not
plain text but an .xml file! So don’t cut and paste it casually!
Download it and use an editor like notepad++ or other .xml editor to
replace xxx.xxx.xxx.xxx with your server IP, “extension” with the appropriate
number, “label” with a short word (6 Chrtrs) for
the extension button, “secret” with the extension password from FreePBX, and “device_label” with a longer word or phrase (app 12 Chrtrs).
|
When
you create the Asterisk extension(s) for the Cisco 79xx phones, use
“Generic SIP Device” within FreePBX, and
within the extension under “This device uses sip technology” set Nat to
“no” or “never” (it varies from one version to another)
|
Some
additional configuration that may be necessary:
These phones do not auto-answer on
command for paging. To accommodate paging, you have to set up a second
extension in Asterisk and within the extension specific configuration file
(SIPMacaddress.cnf for 7940-60 or SEPMacaddress.cnf.xml
for 7941-61) assign it to another button and make that button/extension
auto-answer by using “<autoAnswerEnabled>1</autoAnswerEnabled>”
within the button program. Here is an example file for a 7961,
“Button 3” is the auto-answer extension. We chose to make the extension
number the same as the main phone with the addition of 0 at the end. We
then created paging groups that included those numbers, and were able to
present this as a “feature” in that to “intercom” a single extension, just
dial the extension number with a 0 on the end. We also chose to label the
button “Intercom” rather than the number with 0, just for looks.
When you re-flash these phones to SIP
they will lose the ring-tones users may be used to. The phones will only
have two “chirp” style ringtones left, and while that might not seem
important, my customer was also using Plantronics
wireless headsets with “lifters”. These headsets can produce a “beep” in
the users ear to let them know their phone is ringing when they
are out of ear-shot, but only with certain ringtones that the lifter picks
up through from the phone speaker. Here is a .rar file that has
the ringtones and the .xml files that will make them show up on the
phone. You must unzip it into the tftpboot folder where the phones can find it.
|
You
can perform a factory reset of the Cisco 7940, 7941, 7960, 7961 and 7970
phone by holding down "#" as it powers up (or resets), at which
point you then dial 123456789*0#. This is useful for many types of
recovery, especially when the phone is so disabled that it cannot enter Network
Configuration to reset to factory default. If you do this YOU MUST HAVE
DHCP delivered TFTP settings to re-flash the phones.
To
enter administration mode, or “unlock” sections within the settings screen
enter **#. If prompted for a “password” try: cisco
To
reboot a 79xx phone press the “Settings” key and then enter **#**
|
Some excellent reference pages
(by some really smart guys) I used to muddle my way through this
implementation:
“Reflash
your Cisco 7940, 7941, 7960 or 7961 phone to SIP”
“Configure Cisco IP Phones with Asterisk”
“How to load SIP or SCCP on a Cisco 7940
7960 7941 7961”
|
Home
|