You are on page 1of 34

 (https://twitter.

com/8none1)
Ridiculous Privacy & Cookies Policy

 (https://plus.google.com/u/0/+WillCooke/posts)

whizzy.org (https://www.whizzy.org/)
On code and gadgets.

Cisco 7941, Asterisk And SIP

Tweet

I got a Cisco 7941 o eBay.  This is a phone which was £400 when new (some time around
2004) but can now be picked up for about £10.  These phones went End Of Sale in January
2010, so even if mine was one of the last phones to roll o the production line it’s still
about 7 years old but it’s still working perfectly.  A testament to the good build quality of
these phones, and perhaps the previous owner’s careful handling.
(https://www.whizzy.org/wp-content/uploads/2018/08/7941.jpg)
Ridiculous Privacy & Cookies Policy

Since these devices are no longer supported many companies will be getting rid of them
(or probably already have) so there should be some bargains to be had for phone geeks.

Q: Does the Cisco 7941 work with Asterisk?


A: Yes.  You need to load the SIP rmware (the focus of this post) or chan-sccp (out of
scope for this post but I’ll check it out at some point).

Q: Does the Cisco 7941 work with SIP?


A: Yes.  You need to ash the correct rmware though.

Q: Is it really hard to get working?


A: No.  If you’re comfortable with Linux and a few command line tools.  And assuming you
already have Asterisk set up.

Q: Is a lot of the information on the web about how to set up the 7941 wrong?
A: Yes.  There is a lot of confusion about con g les (the 7940 and 7941 use di erent
ones).

Q: Will you tell us how you got your phone to work?


A: Yes!  However – this is what works for me.  You will need to tweak the con g in places.

The steps to getting this phone working as a SIP extension on Asterisk on Ubuntu /
Raspberry Pi:

1. Set up a TFTP server

2. Download the SIP rmware from Cisco

3. Flash the phone with the rmware via the TFTP server

4. Con gure the SIP extension in Asterisk

5. Write the con g les for the phone and upload them via the TFTP server

6. Make a call!

7. Optional Extras

1. Dial plan
2. Ring tones Ridiculous Privacy & Cookies Policy

3. Dial tones

4. Wallpaper

5. Telephone Directory

8. Final Tip

Set up a TFTP Server


The phone will download it’s  rmware and con g via TFTP.  It needs to download it’s
con g on every boot, so you will always need a TFTP server running.  I think that if the
TFTP server is unavailable it will just use the previous con g, so it’s possible that you can
get away without it, but I haven’t tried.  My recommendation is that you install dnsmasq
(http://www.thekelleys.org.uk/dnsmasq/doc.html).  It’s a small and full featured DNS
server which also includes a DHCP & TFTP server which are easy to con gure and it’s
almost certainly packaged for your distro.  You should also (temporarily) disable any
other DHCP servers on your local network so that dnsmasq is the only thing o ering
DHCP addresses.  This will simplify the process of getting the phone to nd the TFTP
server, since with dnsmasq it will all be automatic.  If you later re-enable your original
DHCP server, say on your router, then you will need to con gure it to give out the address
of the dnsmasq TFTP server and disable DHCP on dnsmasq.  In my opinion, if you’re going
to be running a Cisco IP phone on your network you’d be better o moving all DHCP to
dnsmasq.

The full con guration of dnsmasq it’s out of scope for this doc, but in a nutshell you
need these in your dnsmasq con g:

Set up a DHCP range

dhcp-range=192.168.1.1,192.168.1.100,24h

Enable the TFTP server

enable-tftp

Set the TFTP path

tftp-root=/home/<your user>/tftp (or whatever works for you)


Download the SIP Firmware from Cisco Ridiculous Privacy & Cookies Policy

Usually Cisco require a valid support contract before you can download anything useful
from their website, but it seems that since these phones are now out of support they
have o ered up the rmware free of charge.  You do still need to register an account to
download the les.  At the time of writing the latest version is 9.4.2 SR 3 dated 14th
February 2017 – so bang up to date, even though these phones are end-of-life.  Bizarre,
but good for us.  Thanks Cisco!

Go here: https://software.cisco.com/download/type.html?
md d=280083379&catid=280789323 (https://software.cisco.com/download/type.html?
md d=280083379&catid=280789323)

Follow the link to the SIP software.

You want to download the “SIP rmware les only”

Unzip that le into the root of your TFTP server (the location you set in the previous step).
 You should have 8 les in there:

apps41.9-4-2ES26.sbn
dsp41.9-4-2ES26.sbn
term41.default.loads
cnu41.9-4-2ES26.sbn
jar41sip.9-4-2ES26.sbn
term61.default.loads
cvm41sip.9-4-2ES26.sbn
SIP41.9-4-2SR3-1S.loads

This is everything you need to re ash your phone to the latest SIP rmware.  Now you
need to get the phone to reboot in to rmware download mode.

Flash the phone with the rmware via


the TFTP server
1. Unplug the phone from the power.  Make sure that the network cable is still connected
(unless you’re using using PoE).

2. Plug the power back in and hold down the # key

3. Eventually you will see the “line” lights start to ash orange.  It might take a couple of
minutes to get to this stage, don’t give up, just keep holding down #
4. When the line lights are ashing type 123456789*0#  ThisPrivacy
Ridiculous will start rmware
& Cookies Policy download
mode.

5. The screen will go black for a moment and then go through the process of getting an IP
address and connecting to the TFTP server

6. Once connected to the TFTP server the software download will start

7. The phone will reboot once download is complete and present you with an
“Unprovisioned” message on the screen.  This is good news!  The phone rmware has
now been updated.

I put together a video showing this process.  It’s not very interesting but it will give you an
idea of what to expect.  The actual downloading of the rmware section has been sped
up 3X.

How to start rmware download mode on your Cisco 7941

Con gure the SIP extension in Asterisk


Now you need to con gure the SIP extension in Asterisk.  Do this as per any other SIP
extension, but bear this important piece of information in mind:  The Cisco 7941 can
only deal with 8 character passwords, so keep your SIP authentication secret to 8
characters. Ridiculous Privacy & Cookies Policy

While you’re in Asterisk con guration mode, take a moment to note down these bits of
information as well (in Advanced SIP settings in FreePBX):

RTP Port range, start and end.

Bind Port (probably 5060)

Write the con g les for the phone and


upload them via the TFTP server
Please take the time to read this section fully,  this is the part that is most troublesome.
 The Cisco 7941 is very picky about it’s con g le and even a small mistake will stop the
phone from working.  These settings are speci c to the 79×1 series of phones running at
least version 8.x of the rmware.  If your phone is not a 79×1 and/or is not running v9.x.x
of the rmware then these settings are not for you.

Once the phone has loaded it’s rmware and booted, it will go looking for a le called
SEP<PHONE MAC ADDRESS>.cnf.xml.  So if the MAC address of your phone is
11:22:33:44:55:66 then the con g le needs to be named SEP112233445566.cnf.xml.
 This le needs to be in the root of your TFTP server.

You will see mention of a le called XMLDefault.cnf.xml.  If you’ve only got a few phones,
don’t worry about this, you don’t need it.

So here is a con g le which is about as minimal as I can make it:


<device> Ridiculous Privacy & Cookies Policy
<deviceProtocol>SIP</deviceProtocol>
<sshUserId>cisco</sshUserId>
<sshPassword>cisco</sshPassword>
<ipAddressMode>0</ipAddressMode>

<devicePool>
<dateTimeSetting>
<dateTemplate>D/M/Ya</dateTemplate>
<timeZone>GMT Standard/Daylight Time</timeZone>
<ntps>
<ntp>
<name>#IP ADDRESS OF AN NTP SERVER#</name>
<ntpMode>Unicast</ntpMode>
</ntp>
</ntps>
</dateTimeSetting>

<callManagerGroup>
<members>
<member priority="0">
<callManager>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
<sipPort>#SIP PORT NUMBER FROM YOUR ASTERISK SERVER#</sipPort>
</ports>
<processNodeName>#IP ADDRESS OF YOUR ASTERISK SERVER#</processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
</devicePool>

<sipProfile>
<sipProxies>
<registerWithProxy>true</registerWithProxy>
</sipProxies>
<sipCallFeatures>
<cnfJoinEnabled>true</cnfJoinEnabled>
<rfc2543Hold>false</rfc2543Hold>
<callHoldRingback>2</callHoldRingback>
<localCfwdEnable>true</localCfwdEnable>
<semiAttendedTransfer>true</semiAttendedTransfer>
<anonymousCallBlock>2</anonymousCallBlock>
<callerIdBlocking>2</callerIdBlocking>
<dndControl>0</dndControl>
<remoteCcEnable>true</remoteCcEnable>
</sipCallFeatures>

<sipStack>
<sipInviteRetx>6</sipInviteRetx>
<sipRetx>10</sipRetx>
<timerInviteExpires>180</timerInviteExpires>
<timerRegisterExpires>3600</timerRegisterExpires>
Ridiculous Privacy & Cookies Policy
<timerRegisterDelta>5</timerRegisterDelta>
<timerKeepAliveExpires>120</timerKeepAliveExpires>
<timerSubscribeExpires>120</timerSubscribeExpires>
<timerSubscribeDelta>5</timerSubscribeDelta>
<timerT1>500</timerT1>
<timerT2>4000</timerT2>
<maxRedirects>70</maxRedirects>
<remotePartyID>true</remotePartyID>
<userInfo>None</userInfo>
</sipStack>

<autoAnswerTimer>1</autoAnswerTimer>
<autoAnswerAltBehavior>false</autoAnswerAltBehavior>
<autoAnswerOverride>true</autoAnswerOverride>
<transferOnhookEnabled>false</transferOnhookEnabled>
<enableVad>false</enableVad>
<preferredCodec>g711ulaw</preferredCodec>
<dtmfAvtPayload>101</dtmfAvtPayload>
<dtmfDbLevel>3</dtmfDbLevel>
<dtmfOutofBand>avt</dtmfOutofBand>
<alwaysUsePrimeLine>false</alwaysUsePrimeLine>
<alwaysUsePrimeLineVoiceMail>false</alwaysUsePrimeLineVoiceMail>
<kpml>3</kpml>
<natEnabled>false</natEnabled>
<phoneLabel>#PHONE NAME#</phoneLabel>
<stutterMsgWaiting>0</stutterMsgWaiting>
<callStats>false</callStats>
<silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts>
<disableLocalSpeedDialConfig>false</disableLocalSpeedDialConfig>
<startMediaPort>#RTP START PORT#</startMediaPort>
<stopMediaPort>#RTP END PORT#</stopMediaPort>

<sipLines>
<line button="1">
<featureID>9</featureID>
<featureLabel>#EXT NUM#</featureLabel>
<proxy>USECALLMANAGER</proxy>
<port>#SIP PORT#</port>
<name>#EXT NUM#</name>
<displayName>#EXT NAME#</displayName>
<autoAnswer>
<autoAnswerEnabled>2</autoAnswerEnabled>
</autoAnswer>
<callWaiting>3</callWaiting>
<authName>#SIP AUTH NAME#</authName>
<authPassword>#8 CHAR PASSWORD#</authPassword>
<sharedLine>false</sharedLine>
<messageWaitingLampPolicy>1</messageWaitingLampPolicy>
<messagesNumber>#VM NUM#</messagesNumber>
<ringSettingIdle>4</ringSettingIdle>
<ringSettingActive>5</ringSettingActive>
<contact>#EXT NUM#</contact>
<forwardCallInfoDisplay>
<callerName>true</callerName> Ridiculous Privacy & Cookies Policy
<callerNumber>true</callerNumber>
<redirectedNumber>false</redirectedNumber>
<dialedNumber>true</dialedNumber>
</forwardCallInfoDisplay>
</line>

<line button="2">
<featureID>9</featureID>
<featureLabel>#EXT NUM#</featureLabel>
<proxy>USECALLMANAGER</proxy>
<port>#SIP PORT#</port>
<name>#EXT NUM#</name>
<displayName>#EXT NUM#</displayName>
<autoAnswer>
<autoAnswerEnabled>2</autoAnswerEnabled>
</autoAnswer>
<callWaiting>3</callWaiting>
<authName>#SIP AUTH NAME#</authName>
<authPassword>#8 CHAR PASSWORD#</authPassword>
<sharedLine>false</sharedLine>
<messageWaitingLampPolicy>1</messageWaitingLampPolicy>
<messagesNumber>#VM NUM#</messagesNumber>
<ringSettingIdle>4</ringSettingIdle>
<ringSettingActive>5</ringSettingActive>
<contact>#EXT NUM#</contact>
<forwardCallInfoDisplay>
<callerName>true</callerName>
<callerNumber>true</callerNumber>
<redirectedNumber>false</redirectedNumber>
<dialedNumber>true</dialedNumber>
</forwardCallInfoDisplay>
</line>
</sipLines>

<voipControlPort>#SIP PORT#</voipControlPort>
<dscpForAudio>184</dscpForAudio>
<ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy>
<dialTemplate>dialplan.xml</dialTemplate>
</sipProfile>

<commonProfile>
<phonePassword></phonePassword>
<backgroundImageAccess>true</backgroundImageAccess>
<callLogBlfEnabled>1</callLogBlfEnabled>
</commonProfile>

<loadInformation>SIP41.9-4-2SR3-1S</loadInformation>
<vendorConfig>
<disableSpeaker>false</disableSpeaker>
<disableSpeakerAndHeadset>false</disableSpeakerAndHeadset>
<pcPort>0</pcPort>
<settingsAccess>1</settingsAccess>
<garp>0</garp>
<voiceVlanAccess>0</voiceVlanAccess> Ridiculous Privacy & Cookies Policy
<videoCapability>0</videoCapability>
<autoSelectLineEnable>0</autoSelectLineEnable>
<webAccess>0</webAccess>
<spanToPCPort>1</spanToPCPort>
<loggingDisplay>1</loggingDisplay>
<loadServer></loadServer>
<sshAccess>0</sshAccess>
</vendorConfig>

<versionStamp>001</versionStamp>
<networkLocale>United_Kingdom</networkLocale>
<networkLocaleInfo>
<name>United_Kingdom</name>
<uid>64</uid>
<version>1.0.0.0-4</version>
</networkLocaleInfo>

<deviceSecurityMode>1</deviceSecurityMode>
<authenticationURL></authenticationURL>
<servicesURL></servicesURL>
<transportLayerProtocol>2</transportLayerProtocol>
<certHash></certHash>
<encrConfig>false</encrConfig>
<dialToneSetting>2</dialToneSetting>
</device>

Copy and paste this into a text editor and search and replace the following:

#IP ADDRESS OF AN NTP SERVER#  –  with  –  the IP address of an NTP server

#SIP PORT FROM YOUR ASTERISK SERVER#  –  with  –  the SIP port of your asterisk
server is listening on.  Probably 5060

#IP ADDRESS OF YOUR ASTERISK SERVER#  –  with  –  the IP address of your Asterisk
server

#PHONE NAME#  –  with  –  the text you want to appear at the top right of the phone
screen

#RTP START PORT#  –  with  –  the RTP port range start from the previous stage

#RTP END PORT#’  –  with  –  the RTP port range end from the the previous stage

#EXT NUM#  –  with  –  the Asterisk extension number as con gured in the previous
stage

#SIP PORT#  –  with  –  the SIP port of your Asterisk server.  Probably 5060

#EXT NAME#  –  with  –  the name you want to give this extension
#SIP AUTH NAME#  –  with  –  the username for the SIP extension
Ridiculous as con
Privacy & Cookies gured in
Policy
Asterisk

#8 CHAR PASSWORD#  –  with  –  the password for the SIP extension as con gured in
Asterisk

#VM NUM#  –  with  –  the number you dial for Voicemail.  Probably *98

Note that this con g le has two lines con gured.  If you just blindly search and replace
you’ll end up with two extensions con gured the same.

Some comments on what some of the XML tags do:

ipAddressMode – 0 is IP v4 only. But this seems to have little e ect.

registerWithProxy – true – Registers the device with Asterisk, this allows incoming calls
to be sent to the phone.  If you’re getting “Unregistered” message on the screen, check
you have this set.

featureId – 9 is SIP

autoAnswerEnabled – 2 – 2 seems to be “o ”

webAccess – 0 – 0 is on (?!)

sshAccess -0 – ditto

versionStamp – bump this up every time you make a change.  Something like
YYYMMDD001..2..3 etc

networkLocale – United_Kingdom – sets the tones to UK, see the optional extras
section for more info.

transportLayerProtocol – 2 is UDP, 1 is TCP

dialToneSettings – 2 is “always use internal dialtone”.  See option extras for more info.

Edit this le as necessary and then save it to the root of your TFTP server with the
lename: SEP<MAC>.cnf.xml.  If your phone MAC address was aa:bb:33:44:55:66 then
the lename would be: SEPAABB33445566.cnf.xml  Note that it’s case sensitive, letters in
the MAC address should be in upper case the extensions should be in lowercase.  You
can get the MAC address for the phone from the syslog on your dnsmasq server.

If your phone is still in “Unprovisioned” mode it will have been asking for this con g le
repeatedly.  Once you save the le you should see the phone reboot shortly afterwards.
 It may download the rmware again for some reason, just leave it to get on with it.
Make a call! Ridiculous Privacy & Cookies Policy

If everything has worked you should see your extension listed on the right hand side of
the screen near the buttons, and the name of the phone should appear at the top of the
screen.  If the icon next to the line buttons is that of a phone without an x through it, then
you’re probably good to go!  Press the line button and see if you get a dial tone.  If not,
then check the phone logs:

Press Settings

Press 6

Press 1

From these logs you should be able to tell if the phone has loaded your con g correctly.
 Errors about “updating locale” or “no trust list installed” can be ignored.  If there is a
problem with the con g le itself a generic error will be listed here.  If the phone won’t
load the con g le the most likely reason is that there is a typo in your XML le.  Good
luck nding it.  You can SSH in to the phone to get more detailed logs and debugging
information, but I haven’t tried this yet.  Google is your friend.

Optional Extras
Dial plan
The dial plan tells the phone how to process the digits you type and when to start sending
the call.  Without a dial plan the phone simply waits a period of time for you to stop
typing numbers before it decides you’re done and starts the call.  By using a dial plan you
can reduce the amount of time spent waiting after you’ve nished keying in the number.
 Here’s an example plan I’ve edited based on this post on Phil Lavin’s blog (Thanks
Phil!) http://phil.lavin.me.uk/2012/11/united-kingdom-dial-plan-xml-for-cisco-phones/
(http://phil.lavin.me.uk/2012/11/united-kingdom-dial-plan-xml-for-cisco-phones/)
<DIALTEMPLATE> Ridiculous Privacy & Cookies Policy
<TEMPLATE MATCH="999" Timeout="0"/> <!-- Emergency -->
<TEMPLATE MATCH="112" Timeout="0"/> <!-- Emergency -->
<TEMPLATE MATCH="0500......" Timeout="0"/> <!-- Apparently 0500 is always 10 digits -->
<TEMPLATE MATCH="0800......" Timeout="0"/> <!-- Apparently 0800 is always 10 digits -->
<TEMPLATE MATCH="00*" Timeout="5"/> <!-- International, 00 prefixed. No fixed length -->
<TEMPLATE MATCH="0.........." Timeout="0"/> <!-- UK 11 digit, 0 prefixed -->
<TEMPLATE MATCH="26...." Timeout="0"/> <!-- My local STD numbers start 26 -->
<TEMPLATE MATCH="\*.." Timeout="0"/> <!-- Asterisk *.. codes -->
<TEMPLATE MATCH="\*98...." Timeout="0"/> <!-- Asterisk direct VM access *981234-->
<TEMPLATE MATCH="1..." Timeout="0"/> <!-- Internal numbers -->
<TEMPLATE MATCH="2..." Timeout="0"/> <!-- Internal numbers -->
<TEMPLATE MATCH="*" Timeout="5"/> <!-- Anything else -->
</DIALTEMPLATE>

Save this to the root of your TFTP server, named “dialplan.xml” (lowercase).

Ring tones
Everyone likes novelty ringtones.  You can nd plenty of ringtones in a format which is
compatible with your phone (raw format, 8000 Hz sample rate, 8 bit, ulaw, max 2
seconds).  These les need to be placed in to the root of your TFTP server.  I tried putting
them in a sub-directory but it didn’t work.  Then you need to create a le called
“ringlist.xml” also in the root of the server.  The format of this le is:

<CiscoIPPhoneRingList>
<Ring>
<DisplayName>#DISPLAY TEXT#</DisplayName>
<FileName>#FILENAME#</FileName>
</Ring>
<Ring>
<DisplayName>#DISPLAY TEXT#</DisplayName>
<FileName>#FILENAME#</FileName>
</Ring>
</CiscoIPPhoneRingList>

Filenames are case sensitive.  Once you’ve save this le, copy it to
“distinctiveringlist.xml” as well.  This will allow you to set ring tones for the
default ringer and di erent rings for each line.

Dial tones
By default the 7941 will have a psuedo North American dial tone.  This is annoyingly shrill
(yes, it is).  By specifying a NetworkLocale in the phone con g we can get it to load
a di erent set of informational tones from a le stored in (per the example XML above)
United_Kingdom.  In the root of the TFTP server create a directory
called United_Kingdom.  In this directory you needRidiculous
to create a le
Privacy & called
Cookies g3-tones.xml.
Policy
 Bizarrely Cisco require you to have a support contract in order to download the correct
tones settings for your country, despite giving the phone rmware away for free.  Go
gure.  So this means I’m not going to paste the XML here.  If you search hard enough
you’ll nd an example g3-tones.xml le you can use as a base.  In our phone
con guration above we told the phone to always use the internal dialing tone, so this
means we only need to change the idial section of the tones le.  The magic numbers
are:

31538

-780

30831

-973

Wallpaper
The phone comes with a single default wallpaper with horizontal lines on it.  This is easily
replaced by your own designs with a simple PNG.   Create a directory in the root of the
TFTP server called Desktops.  In here create another directory called 320x196x4.

In to this directory you need to place a “List.xml” le:

<CiscoIPPhoneImageList>
<ImageItem Image="TFTP:Desktops/320x196x4/ubuntu-tn.png"
URL="TFTP:Desktops/320x196x4/ubuntu.png"/>
</CiscoIPPhoneImageList>

The “-tn” in the le is a smaller thumbnail version of the larger image.  The PNGs need to
be sized exactly 320×196 for the large and 80×49 for the thumbnail.  Here’s something to
get you started:

(https://www.whizzy.org/wp-content/uploads/2017/02/Ubuntu-Logo-tn.png)
Ridiculous Privacy & Cookies Policy

(https://www.whizzy.org/wp-content/uploads/2017/02/Ubuntu-Logo.png)

Telephone Directory
You will have noticed that the phone has a “Directories” button and a “Services” button.  I
haven’t managed to add an extra phone book to the Directories button yet although I
think it’s certainly possible, just that the XML le refuses to do anything.  However, I have
got a phone directory working on the Services button.

In the main phone con g le there is a tag for “servicesURL”.  Point this to a web server
on your local network which will serve up an XML le.  For example:

<servicesURL>http://192.168.1.1/phone/directory.xml</servicesURL>

Assuming you are using Apache 2 to serve that XML le (or it could equally be a CGI script
which generates the XML dynamically from a database such as the FreePBX phone book)
the format looks like this:

<CiscoIPPhoneDirectory>
<Title>Whizzy Towers</Title>
<DirectoryEntry>
<Telephone>1500</Telephone>
<Name>Lenny</Name>
</DirectoryEntry>
<DirectoryEntry>
<Telephone>1234</Telephone>
<Name>Speaking Clock</Name>
</DirectoryEntry>
</CiscoIPPhoneDirectory>

Important note:  You must tell Apache to serve those les as type “text/xml“.
 “application/xml” will not work.
You can do this via your CGI script, or if you want toRidiculous
serve aPrivacy
static& Cookies
le add Policy
something like
this to your Apache con g:

<Location /phone/>
ForceType text/xml
</Location>

Inside your VirtualHost section.

Final Tip
Watch /var/log/syslog on the machine running the TFTP server.  You’ll be able to
see exactly what les the phone is asking for.  Bear in mind that it does ask for les it
doesn’t strictly need, so don’t worry too much about le not found errors unless it’s one
of the above.

Here’s a nal video showing the boot up for a fully con gured phone

Fully con gured Cisco 7941 connecting to Asterisk via SIP

Tweet

Posted by Will Cooke (https://www.whizzy.org/author/will/) / FEBRUARY 23, 2017 / 23 Comments


Ridiculous Privacy & Cookies Policy

Posted in

asterisk (https://www.whizzy.org/category/asterisk/), Making the world a better place


(https://www.whizzy.org/category/making-the-world-a-better-place/), RaspberryPi
(https://www.whizzy.org/category/raspberrypi/)

23 Comments

ADAN
FEBRUARY 26, 2017 at 4:48 pm

Hey, wondering if you can help me, also have a 7941 and am trying to hook
it up to asterisk which I have done in the past but has been in storage for a
while due to server issues and now I nd that latest asterisk (PIAF) seems
to be well, crap for using with the 7941

Are you using SIP or PJSIP, not sure what difference is but my LG SIP
phone wont work on SIP as port is different (5061) PJSIP uses 5060 and
works… somewhat on the LG, by that I mean incoming is great outgoing is
silent for a random amount of time then it works great.

so hence digging up the cisco (looks nicer imo too) but my current
problem is no matter if I make an extension PJSIP or SIP it still gets stuck
at registering on the phone.

not sure if the ports are taking affect in con g as in the menus on the
deivce the proxy port is blank so I bet its trying to use 5060 when it should
be using 5061

would you mind sharing you asterisk extension con gs as I swear down
that my XML les are right tried so many even the one I had working on a
test server with this very phone about 5 months ago and I belive I used SIP
on 5061 with that server so pretty sure a recent PIAF update has changed
some asterisk extension thing
also if I have sip debug on I see no attempt by Privacy
Ridiculous mr cisco to connect,
& Cookies Policy not
even an auth fail, its like the phone just dont care, both server and phone
on same subnet on same switch port as the working LG phone so cant be
network related

Reply (https://www.whizzy.org/2017/02/cisco-7941-asterisk-and-sip/?
replytocom=19898#respond)

WILL COOKE (HTTP://WWW.WHIZZY.ORG)


FEBRUARY 27, 2017 at 8:30 pm

Hi Adan!

I read somewhere that the 7941 always tries to connect to the highest
numbered SIP port regardless of what you tell it. So my guess (and it is
only a guess) is that it’s trying to connect using encryption when there
is none. Hence why you’re not seeing any attempts to connect, because
the encryption handshake is failing.

I’m using the plain SIP module. Here’s some con g extracts which
might give you a clue:

From sip_additional.conf for the 7941 extension:

[1005]
deny=0.0.0.0/0.0.0.0
secret=password
dtmfmode=rfc2833
canreinvite=no
context=from-internal
host=dynamic
trustrpid=yes
sendrpid=no
type=friend
nat=no
port=5060
qualify=yes
qualifyfreq=60
transport=udp,tcp,tls
avpf=no
icesupport=no Ridiculous Privacy & Cookies Policy
encryption=no
callgroup=
pickupgroup=
dial=SIP/1005
mailbox=1001@default
permit=0.0.0.0/0.0.0.0
callerid=Study <1005>
callcounter=yes
faxdetect=no

Let me know if that helps.

Reply (https://www.whizzy.org/2017/02/cisco-7941-asterisk-and-sip/?
replytocom=19926#respond)

ASHOK KUMAR (HTTP://SMSCOUNTRY.COM)


NOVEMBER 29, 2018 at 11:46 am

Hi Will

Good day

I followed the same process like above and i am success in


updating the rmware and now i am able to make calls to national
and international numbers but i am facing an issue when i am trying
to reach operator toll free numbers i am getting an error as reorder i
guess the issue is with codec and i even tried below codec but
nothing didnt work out can you please suggest me the solution for
this

codec:
g711alaw
g711ulaw

Reply (https://www.whizzy.org/2017/02/cisco-7941-asterisk-and-
sip/?replytocom=34081#respond)
RALF Ridiculous Privacy & Cookies Policy
MARCH 17, 2017 at 8:52 pm

Hey Will, thank you so much for this article. I am working now for almost
one year (time to time) to get my CIsco 7961 working. I tried almost all
con gurations you can nd on the internet. I got to a point where I could
receive calls but not place them. Thanks to you it is now working. So I can
con rm that it works for Cisco 7961, too.
Kind regards,
Ralf

Reply (https://www.whizzy.org/2017/02/cisco-7941-asterisk-and-sip/?
replytocom=20345#respond)

WILL COOKE (HTTP://WWW.WHIZZY.ORG)


MARCH 25, 2017 at 2:05 pm

Excellent! Glad to hear you got it working.

Reply (https://www.whizzy.org/2017/02/cisco-7941-asterisk-and-sip/?
replytocom=20456#respond)

IVG
APRIL 23, 2017 at 12:53 am

Hey Will,
What version of Asterisk or FreePBX is recommended?
Kind regards, IVG

Reply (https://www.whizzy.org/2017/02/cisco-7941-asterisk-and-sip/?
replytocom=21065#respond)

WILL COOKE (HTTP://WWW.WHIZZY.ORG)


APRIL 27, 2017 at 10:30 am
I dont think you need a speci c version. I’d say
Ridiculous use
Privacy & whatever is
Cookies Policy
packaged for your distro, or the latest upstream version.

Reply (https://www.whizzy.org/2017/02/cisco-7941-asterisk-and-sip/?
replytocom=21142#respond)

CB
JUNE 20, 2017 at 2:32 pm

Do you know of any major differences between the 79×1 models and 79×2
models? I am trying to get a 7942 and 7962 working with Switchvox, and
having problems at the SIP OPTIONS stage.

Reply (https://www.whizzy.org/2017/02/cisco-7941-asterisk-and-sip/?
replytocom=21962#respond)

WILL COOKE (HTTP://WWW.WHIZZY.ORG)


JUNE 27, 2017 at 7:30 am

This site should give you some hints:

https://www.voip-
info.org/wiki/view/Asterisk+phone+cisco+79×1+xml+con guration+ le
(https://www.voip-
info.org/wiki/view/Asterisk+phone+cisco+79x1+xml+con guration+ les

Reply (https://www.whizzy.org/2017/02/cisco-7941-asterisk-and-sip/?
replytocom=22069#respond)

KIMO
AUGUST 14, 2017 at 2:41 am

Hi All,
We bought CISCO7941 phones from ebay and I migrated couple of
phones to our network with factory reset. Phones are migrated to
our network. Ridiculous Privacy & Cookies Policy
Phone is loading SEPMAC.cnf.xml and shows the con gured users
and phone show registering or “Enregistration” . Phone is sending
SIP registration request to our server frequenetly though SIP server
respondes with 200 OK. Phone also sending Reason header in SIP
register request. Below are the traces. Can you please review and
suggest how to solve the issue from phone?

REGISTER sip:SIP_PROXY SIP/2.0.


Via: SIP/2.0/UDP 192.168.0.8:5060;branch=z9hG4bK145170f7.
From: ;tag=002155043e14000c6e300d74-f82d1759.
To: .
Call-ID: 00215504-3e14000a-88ce24a2-232a3b6b@192.168
(mailto:00215504-3e14000a-88ce24a2-232a3b6b@192.168).0.8.
Max-Forwards: 70.
Date: Mon, 16 Jan 2017 09:07:00 GMT.
CSeq: 105 REGISTER.
User-Agent: Cisco-CP7941G/9.4.2.
Contact:
;+sip.instance=””;+u.sip!devicename.ccm.cisco.com=”SEP002155043
Supported: replaces,join,sdp-anat,norefersub,resource-
priority,extended-refer,X-cisco-callinfo,X-cisco-serviceuri,X-cisco-
escapecodes,X-cisco-service-control,X-cisco-srtp-fallback,X-cisco-
monrec,X-cisco-con g,X-cisco-sis-6.0.0,X-cisco-xsi-8.5.1.
Content-Length: 0.
Reason: SIP;cause=200;text=”cisco-alarm:14
Name=SEP002155043E14 Load=SIP41.9-4-2SR3-1S Last=cm-
closed-tcp”.
Expires: 3600.
.

SIP/2.0 200 OK.


Via: SIP/2.0/UDP
192.168.0.8:5060;branch=z9hG4bK145170f7;rport=50509;received=7
From: ;tag=002155043e14000c6e300d74-f82d1759.
To: ;tag=9b61c4013306e65e16fef2a53c4669e3.6550.
Call-ID: 00215504-3e14000a-88ce24a2-232a3b6b@192.168
(mailto:00215504-3e14000a-88ce24a2-232a3b6b@192.168).0.8.
CSeq: 105 REGISTER.
Contact:
;expires=300;received=”sip:73.213.191.57:50509″;+sip.instance=””.
Server: kamailio (4.3.4 (x86_64/linux)).
Ridiculous Privacy & Cookies Policy
Content-Length: 0.
.

Reply (https://www.whizzy.org/2017/02/cisco-7941-asterisk-and-
sip/?replytocom=22896#respond)

JOHN
JULY 22, 2017 at 9:53 am

Hi guys,

Just got one from ebay about 12 pounds.


Updated to latest rware from Cisco and tried every con guration found
here or other blogs and site.

I have installed asterisk local and TFTP server success.


All the time i got unprocisioned :(

I am one step to give it away for recycling.


Is there anyone who can help me to con gure it to my Asterisk local
server?
I can give you some Teamviewer access to work directly.

Reply (https://www.whizzy.org/2017/02/cisco-7941-asterisk-and-sip/?
replytocom=22501#respond)

RICARDO DÍAZ
AUGUST 23, 2017 at 10:58 pm

Hello will

I am trying to register a cisco IP 7941G phone with an asterisk server and


then upload the rmware version .8-5-4 phone work. Now I can take calls
but I can not route incoming calls to the IP phone because the attachment
is not registered on the plant.
Do you have to modify any additional Ridiculous
parameters in the
Privacy SEP .cnf.xml
& Cookies Policy le to
make the IP phone register with the plant to be able to assign calls?

Reply (https://www.whizzy.org/2017/02/cisco-7941-asterisk-and-sip/?
replytocom=23104#respond)

HAS
NOVEMBER 1, 2017 at 3:52 pm

Hi Will,

i’ve Cisco 7960 IP Phone setup, I managed to get phone registered and got
a dial tone but whenever I try to place an outgoing call it just wouldn’t call
out. In addition to that, I’ve that little X next to the extension on line 1,
could this be cause of my issue?

“If everything has worked you should see your extension listed on the right
hand side of the screen near the buttons, and the name of the phone
should appear at the top of the screen. If the icon next to the line buttons
is that of a phone without an x through it, then you’re probably good to go!
Press the line button and see if you get a dial tone. If not, then check the”

Reply (https://www.whizzy.org/2017/02/cisco-7941-asterisk-and-sip/?
replytocom=24732#respond)

WILL COOKE (HTTP://WWW.WHIZZY.ORG)


NOVEMBER 30, 2017 at 9:41 am

Hi, thanks for the comment.

The little X indicates (I think) that the phone hasn’t correctly registered
with Asterisk. The dial tone is being generated from the phone itself,
not Asterisk, so that could well be a red herring. I’d suggest turning up
the logging on Asterisk to the max and switching on SIP debugging.
This could be something as simple as a port number or password.
Reply (https://www.whizzy.org/2017/02/cisco-7941-asterisk-and-sip/?
Ridiculous Privacy & Cookies Policy
replytocom=25300#respond)

AMAR
DECEMBER 2, 2017 at 9:53 pm

Hello will,
Thank you for great the guide. Following I managed to get a 7961g
working with freepbx. I am in Toronto,Canada. I can make and receive
local (10 digits) only remaining issue is that I can’t make any international
calls (I am able to make the same international calls from other extentions
connected to my freepbx) . I suspect that it’s an issue with the
dialplan.xml.
Any suggestions would be greatly appreciated. Thanks .

Reply (https://www.whizzy.org/2017/02/cisco-7941-asterisk-and-sip/?
replytocom=25347#respond)

CHRIS
DECEMBER 8, 2017 at 8:06 pm

Hey, whenever I add a second sip line, the phone keeps restarting.

This is what I’m seeing in my log

NOT 15:03:16.252056 JVM: Startup Module


Loader|cip.sipcc.SipCcAdapter: – cmname=192.168.0.150
cmIp=192.168.0.150 port=5063 isValid=true
NOT 15:03:16.253352 JVM: Startup Module Loader|cip.sipcc.d: –
initializeLinePlane(): Mgmt Interface is in Service now..
ERR 15:03:16.254597 JVM: Startup Module Loader|cip.sipcc.d: –
regAllFailed(): mgmtState=5
WRN 15:03:16.255820 JVM: Startup Module Loader|JPlatUi: –
platformResetReq: resetRequest type=2
One key thing is that each sip accountRidiculous
is different and
Privacy they both
& Cookies use
Policy
different ports 5063 and 5062 but the server is the same, matching the
settings on the server for each line. I did try and put them both on the
same port, but that didn’t work either.

Everything works if I just use one or the other. Any ideas?

Reply (https://www.whizzy.org/2017/02/cisco-7941-asterisk-and-sip/?
replytocom=25481#respond)

MUAYAD
APRIL 18, 2018 at 9:00 am

Mr. WILL COOKE please i need your help i have Cisco Phone and its
rmware SIP and i want to change it to SCCP can you help me please ?

Reply (https://www.whizzy.org/2017/02/cisco-7941-asterisk-and-sip/?
replytocom=28807#respond)

BLADIMIR SAMPAYO (HTTP://WWW.TECCOMSAS.COM)


APRIL 27, 2018 at 8:15 pm

Hi good day
I thank you very much for your contribution to make this tutorial I followed
it at the foot
and the rmware went up without problems but when making the
con guration of the sip le
As you mention, I have these errors that I post when sending the les to
the phone and I do not know what it could be, could you please help me by
giving me some indication that I should correct

Connection received from 192.168.3.2 on port 52076 [27/04 14:40:40.172]


Read request for le . Mode octet [27/04 14:40:40.172]
File : error 2 in system call CreateFile El sistema no puede encontrar el
archivo especi cado. [27/04 14:40:40.172]
Connection received from 192.168.3.2 on port 51644 [27/04 14:41:11.072]
Read request for le . Mode octet [27/04 14:41:11.072]
Using local port 57768 [27/04 14:41:11.072]
Ridiculous Privacy & Cookies Policy
: sent 15 blks, 7604 bytes in 0 s. 0 blk resent [27/04 14:41:11.103]
Connection received from 192.168.3.2 on port 51366 [27/04 14:42:14.778]
Read request for le . Mode octet [27/04 14:42:14.778]
File : error 2 in system call CreateFile El sistema no puede encontrar el
archivo especi cado. [27/04 14:42:14.778]
Connection received from 192.168.3.2 on port 49532 [27/04 14:42:45.468]
Read request for le . Mode octet [27/04 14:42:45.468]
File : error 2 in system call CreateFile El sistema no puede encontrar el
archivo especi cado. [27/04 14:42:45.468]
Connection received from 192.168.3.2 on port 51186 [27/04 14:43:16.168]
Read request for le . Mode octet [27/04 14:43:16.168]
File : error 2 in system call CreateFile El sistema no puede encontrar el
archivo especi cado. [27/04 14:43:16.168]
Connection received from 192.168.3.2 on port 52421 [27/04 14:43:46.984]
Read request for le . Mode octet [27/04 14:43:46.984]
Using local port 62389 [27/04 14:43:46.984]
: sent 15 blks, 7604 bytes in 0 s. 0 blk resent [27/04 14:43:46.999]
Connection received from 192.168.3.2 on port 52761 [27/04 14:44:49.282]
Read request for le . Mode octet [27/04 14:44:49.282]
File : error 2 in system call CreateFile El sistema no puede encontrar el
archivo especi cado. [27/04 14:44:49.282]
Connection received from 192.168.3.2 on port 51344 [27/04 14:45:19.984]
Read request for le . Mode octet [27/04 14:45:19.984]
File : error 2 in system call CreateFile El sistema no puede encontrar el
archivo especi cado. [27/04 14:45:19.984]

Reply (https://www.whizzy.org/2017/02/cisco-7941-asterisk-and-sip/?
replytocom=29119#respond)

AM
MAY 13, 2018 at 5:43 pm

Thanks for this post, it helped me after countless hours of trying to get
7961G running.

Weird thing though, the phone registered to a VoIP provider only when I set
the transport protocol to TCP. UDP just didn’t work. I spoke with the
provider and they told me I’m rejecting the UDP packets coming back from
them.
So I’ve tried to forward ports, even putting the phone
Ridiculous Privacy &toCookies
DMZ, Policy
no luck.
Maybe there are more settings related to using UDP?

Reply (https://www.whizzy.org/2017/02/cisco-7941-asterisk-and-sip/?
replytocom=29561#respond)

STEVE MANLEY
JUNE 5, 2018 at 12:29 am

THANK YOU SO MUCH FOR THIS!

Post up a LTC or BTC address so I can buy you a beer. You saved me
hours.

Some things that tripped me up:

I needed to use CHAN_SIP, not PJSIP.

If you are making a Cisco 7961G work, if you don’t include a dialplan.xml,
all of your outgoing calls will fail, as the inter-digit delay will become 0 or
something close to it; it tries to dial the rst digit you hit. Incoming calls
will work ne. Adding the dialplan.xml le (I used a basically empty one)
will prevent this from happening. Not sure if tags will post, but below:

Thanks so much!

Reply (https://www.whizzy.org/2017/02/cisco-7941-asterisk-and-sip/?
replytocom=30422#respond)

JONATHAN
AUGUST 2, 2018 at 1:43 am

Thank you for this!!

Finally got my Cisco 7941G working with my freePBX.


I was wondering if it supports a login Ridiculous
feature like example.
Privacy & Cookies Policy

User can go to any phone and login to their ext?

Thank you again!!!

Reply (https://www.whizzy.org/2017/02/cisco-7941-asterisk-and-sip/?
replytocom=31734#respond)

MICHELE GIAMBRA
OCTOBER 13, 2018 at 7:49 am

Hi everyone,
It’s since July that I try to register my Cisco 7961G on Asterisk, but I can
not.
I’ve read the post so many times, but I can not.
I have the sip rmware 9.4.2sr3.1s and asterisk 15.4.0 FreePBX 14.0.3.19.
I’m using sepmac.cnf.xml of the copied from this post.

Who managed to run the cisco 7961g, can send me the con guration.
Thank you!

Reply (https://www.whizzy.org/2017/02/cisco-7941-asterisk-and-sip/?
replytocom=32815#respond)

ROLAKRON
NOVEMBER 5, 2018 at 8:03 pm

Hello.
I have set up a phone server with FreePBX and Asterisk on a Raspberry
PI3+ (i’m using raspbx distro, a complete system) and I have my phones to
work with SCCP. I have also set up a phone directory made with PHP. It
fetches all phone numbers from the systems MySQL-database, so I don’t
need to add entries manually. So, if I create a new extension, then it will
show up in the phonedirectory.
Reply (https://www.whizzy.org/2017/02/cisco-7941-asterisk-and-sip/?
Ridiculous Privacy & Cookies Policy
replytocom=33490#respond)

Leave a Reply
Your email address will not be published. Required elds are marked *

Comment *

Name *

Email *

Website

POST COMMENT
Ridiculous Privacy & Cookies Policy

ARCHIVES

May 2017 (https://www.whizzy.org/2017/05/)

March 2017 (https://www.whizzy.org/2017/03/)

February 2017 (https://www.whizzy.org/2017/02/)

December 2016 (https://www.whizzy.org/2016/12/)

November 2016 (https://www.whizzy.org/2016/11/)

October 2016 (https://www.whizzy.org/2016/10/)

September 2016 (https://www.whizzy.org/2016/09/)

February 2016 (https://www.whizzy.org/2016/02/)

December 2015 (https://www.whizzy.org/2015/12/)

October 2015 (https://www.whizzy.org/2015/10/)

September 2015 (https://www.whizzy.org/2015/09/)

June 2015 (https://www.whizzy.org/2015/06/)

May 2015 (https://www.whizzy.org/2015/05/)

February 2015 (https://www.whizzy.org/2015/02/)

August 2014 (https://www.whizzy.org/2014/08/)

February 2014 (https://www.whizzy.org/2014/02/)

January 2014 (https://www.whizzy.org/2014/01/)

December 2013 (https://www.whizzy.org/2013/12/)

November 2013 (https://www.whizzy.org/2013/11/)

February 2013 (https://www.whizzy.org/2013/02/)

November 2012 (https://www.whizzy.org/2012/11/)

August 2012 (https://www.whizzy.org/2012/08/)


March 2012 (https://www.whizzy.org/2012/03/) Ridiculous Privacy & Cookies Policy

September 2011 (https://www.whizzy.org/2011/09/)

August 2011 (https://www.whizzy.org/2011/08/)

July 2011 (https://www.whizzy.org/2011/07/)

June 2011 (https://www.whizzy.org/2011/06/)

April 2011 (https://www.whizzy.org/2011/04/)

February 2011 (https://www.whizzy.org/2011/02/)

October 2010 (https://www.whizzy.org/2010/10/)

September 2010 (https://www.whizzy.org/2010/09/)

August 2010 (https://www.whizzy.org/2010/08/)

June 2010 (https://www.whizzy.org/2010/06/)

January 2010 (https://www.whizzy.org/2010/01/)

October 2009 (https://www.whizzy.org/2009/10/)

September 2009 (https://www.whizzy.org/2009/09/)

August 2009 (https://www.whizzy.org/2009/08/)

July 2009 (https://www.whizzy.org/2009/07/)

June 2009 (https://www.whizzy.org/2009/06/)

May 2009 (https://www.whizzy.org/2009/05/)

RECENT POSTS

Ubuntu Desktop goings on. Friday 19th May 2017


(https://www.whizzy.org/2017/05/ubuntu-desktop-goings-on-friday-19th-may-2017/)

Retrieving user pro le data from Login With Amazon on Alexa


(https://www.whizzy.org/2017/03/retrieving-user-pro le-data-from-login-with-amazon-
on-alexa/)
Cisco 7941, Asterisk and SIP (https://www.whizzy.org/2017/02/cisco-7941-asterisk-and-
Ridiculous Privacy & Cookies Policy
sip/)

HOWTO: Add OAUTH to your Alexa Smart Home skill in 10 minutes


(https://www.whizzy.org/2016/12/howto-add-oauth-to-your-alexa-smart-home-skill-in-10-
minutes/)

bravialib – a Python library to abstract the Bravia web API


(https://www.whizzy.org/2016/11/bravialib-a-python-library-to-abstract-the-bravia-web-
api/)

Search …

CATEGORIES

Alexa (https://www.whizzy.org/category/alexa/)

Arduino (https://www.whizzy.org/category/arduino/)

asterisk (https://www.whizzy.org/category/asterisk/)

Google Maps (https://www.whizzy.org/category/google-maps/)

IoT (https://www.whizzy.org/category/iot/)

Javascript (https://www.whizzy.org/category/javascript/)

linux (https://www.whizzy.org/category/linux/)

Making the world a better place (https://www.whizzy.org/category/making-the-world-a-


better-place/)

RaspberryPi (https://www.whizzy.org/category/raspberrypi/)

So called humor (https://www.whizzy.org/category/so-called-humor/)

tv (https://www.whizzy.org/category/tv/)
Ubuntu (https://www.whizzy.org/category/ubuntu-2/)
Ridiculous Privacy & Cookies Policy

Uncategorized (https://www.whizzy.org/category/uncategorized/)

FEEDS

(https://feeds.feedburner.com/Whizzyorg) Subscribe in a reader
(https://feeds.feedburner.com/Whizzyorg)

 (https://twitter.com/8none1)
 (https://plus.google.com/u/0/+WillCooke/posts)
© Copyright 2019 whizzy.org (https://www.whizzy.org/) • Designed by MotoPress
(http://www.getmotopress.com/) • Proudly Powered by WordPress (http://wordpress.org/)

You might also like