Using a Cisco 7941/7961 phone with 3CX

Status
Not open for further replies.

ITWorks

Joined
Apr 7, 2007
Messages
121
Reaction score
0
Rather than respond individually for requests for help with configuring Cisco 79x1 series phones with 3CX, I am posting a procedure here. These phones work well with 3CX other than MWI. They provide very good voice quality and the xml configuration files allow administrators to make global changes to phone settings with minimal effort.

Using a Cisco 7941/7961 phone with 3CX

Step 1:
Install a TFTP Server on your network. There are several shareware programs available however for a production environment I would suggest a TFTP server that runs as a service such as Winagents TFTF Server.

Step 2:
Download the SIP firmware version you decide to use from Cisco by using your CCO account. These instructions will use SIP41.8-0-2SR1S as it is the only version known to work correctly with the message waiting indicator on non-Cisco IP-PBXs, however it will lack the Do Not Disturb feature of the newest version. I have not yet been able to get the MWI to work with 3CX however. Download the file cmterm-7941_7961-sip.8-0-2SR1.cop and change the file extension to tar.gz and unzip the file. Copy your unzipped files to the root directory of your TFTP server.

Step 3:
Create a SEPmacaddress.cnf.xml file for each of your phones. I suggest using the application Notepad2 (licensed under GPL) http://www.flos-freeware.ch/notepad2.html to create this file as it provides line numbers and syntax color coding. Modify the minimal configuration file below for your location specific settings. I have bolded the ones you will need to change. This configuration is for a 3CX extension number 100 and voice mail extension of 999. For an explanation of these settings see the posting “Cisco 79x1 xml configuration files for SIP” at http://www.voip-info.org/wiki.


<device>
<deviceProtocol>SIP</deviceProtocol>
<sshUserId>ssh_username</sshUserId>
<sshPassword>sshpassword</sshPassword>
<devicePool>
<dateTimeSetting>
<dateTemplate>D-M-Y</dateTemplate>
<timeZone>Alaskan Standard/Daylight Time</timeZone>
<ntps>
<ntp>
<name>a_ntpserver</name>
</ntp>
</ntps>
</dateTimeSetting>
<callManagerGroup>
<members>
<member priority="0">
<callManager>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
<sipPort>5060</sipPort>
<securedSipPort>5061</securedSipPort>
</ports>
<processNodeName>ip of 3CX server</processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
</devicePool>
<sipProfile>
<sipProxies>
<registerWithProxy>true</registerWithProxy>
</sipProxies>
<enableVad>false</enableVad>
<!—Note – This following may need to be just g711 in later firmware versions -->
<preferredCodec>g711ulaw</preferredCodec>
<natEnabled></natEnabled>
<phoneLabel>Cisco_Phone</phoneLabel>
<sipLines>
<line button="1">
<featureID>9</featureID>
<featureLabel>100</featureLabel>
<proxy>3CX server IP</proxy>
<name>100</name>
<displayName>username</displayName>
<authName>100</authName>
<authPassword>xxx</authPassword>
<messagesNumber>999</messagesNumber>
</line>
<line button="2">
<featureID>21</featureID>
<featureLabel>SpeedDial</featureLabel>
<speedDialNumber>5551234</speedDialNumber>
</line>
</sipLines>
<dialTemplate>DRdialplan.xml</dialTemplate>
</sipProfile>
<commonProfile>
<phonePassword></phonePassword>
</commonProfile>
<loadInformation>SIP41.8-0-2SR1S</loadInformation>
<versionStamp>1143565489-a3cbf294-7526-4c29-8791-c4fce4ce4c37</versionStamp>
<directoryURL></directoryURL>
<servicesURL></servicesURL>
</device>

Step 4:
Create a DRdialplan.xml file and place this also in the root directory of your TFTP server.
The example below is specifying how long to wait to dial after a specific digit or sequence of digits is dialed.

<DIALTEMPLATE>
<TEMPLATE MATCH="8" TIMEOUT="1" User="Phone"/>
<TEMPLATE MATCH="9" TIMEOUT="1" User="Phone"/>
<TEMPLATE MATCH="...." TIMEOUT="2" User="Phone"/>
<TEMPLATE MATCH="......." TIMEOUT="1" User="Phone"/>
</DIALTEMPLATE>

Step 5:
Configure your DHCP server with the specific IP address of your TFTP server. Cisco suggests option 150 for this however if your DHCP server does not offer the option 150 you may use option 66 and enter the IP address of your TFTP Server.

Step 6:
If your phone fails to provision or you make changes in your configuration file that are not reflected on the phone, connect to the phone on port 80 via your web browser.
Select the Console logs and then the highest /FS/cache/log# which will be your latest log. Check for exceptions in parsing the configuration. This will indicate the configuration file entry that needs to be corrected. Disregard errors relating to “non-secure” or “CTL”.
 
I had a 7961G set up for SIP at work for a while and I do not recall having any time issues. If I get time tomorrow I will flash another spare phone for SIP and see if I can find a solution.
 
That would be great. The cnf.xml config is above, with some minor particulars altered.
 
I did a quick google and I think this is what I did before.

Code:
<devicePool>
     <dateTimeSetting>
        <dateTemplate>D-M-YA</dateTemplate>
        <timeZone>UTC Standard/Daylight Time</timeZone> *change this as needed*
        <ntps>
             <ntp>
                 <name>YOURNTPSERVERIPADDRESS</name>
                 <ntpMode>Unicast</ntpMode>
             </ntp>
        </ntps>
     </dateTimeSetting>
 
No luck. Had also already tried both unicast and mulicast settings. Still 9:11a 25-05-07

Voip-info.org talks about it:
Date display & NTP

The phone appears to support NTP for setting the date and time, though it apparently ignores the settings unless it is able to download locale configuration files from the TFTP server. The locale files are part of Cisco CallManager, so the phone reports an "Error Updating Locale" at startup if you aren't using a CallManager SIP proxy.

Fortunately the phone will set its clock based on the Date header returned as part of the SIP proxy's registration response (200 OK). Asterisk sends the Date header during registration, but some VOIP providers to not. Hopefully future firmware revisions will enable NTP when CallManager locale files are not available.

In the meantime, some localizations are available at Cisco Online (CCO-login required).

But the files don't help and future firmware isn't available with NTP included.
Have tried 8.1 - 8.5.3 including all 8.X. releases, with the closest being:
Release 8.5(2)

Identifier
Headline and Bug Toolkit
CSCso40588

Fixed: Cisco Unified IP Phone 7941G/G-GE (SIP) cannot sync to NTP server

Which still did not fix the issue.
 
Just reflashed a 7961G and put the NTP server in. It worked just fine.

Here is what I used.

Code:
<dateTimeSetting>
        <dateTemplate>M/D/Y</dateTemplate>
        <timeZone>Eastern Standard/Daylight Time</timeZone>
        <ntps>
             <ntp>
                 <name>pool.ntp.org</name>
                 <ntpMode>Unicast</ntpMode>
             </ntp>
        </ntps>
     </dateTimeSetting>

EDIT..Used SIP41.8-5-3S load
 
Thanks for this excellent post - i've been able to follow it to convert my new 7941G to sip and provision with 3cx. My issue is really strange. When I pick up the handset nothing - i have to press headset to get a dial tone. From then onwards it is fine. Same with answering I have to press the line button to answer the call.

Any help / direction would be great.

Cheers

AM
 
Hi kevin,

Not long ago I got a batch of these phones already used on one of that auction selling off the remainder of the Dell Limerick factory. In order to use them with 3CX or Asterisk I needed to change the firmware from Cisco Call Manager (SCCP aka Skinny) to SIP. There is plenty of documentation out there on how to do this, but basically you need a Cisco Smart Net license stuff to download the files (or failing that, Google is your friend…) and host them on your TFTP server. There are a lot of services out there that’ll help with this issue. A great resource that I suggest, because it’s free and gets some of the issues out of the way, is Firebrand Training’s CCNA related resources site. For more information and general guidelines check out their CCNA training.
 
Hello.

My first post on these forums and I'm about to stick my neck out :)

This does work on the Cisco 7941G using the SIP SIP41.8-5-3S

<dateTimeSetting>

<dateTemplate>Y/M/D</dateTemplate>

<timeZone>W. Europe Standard/Daylight Time</timeZone>

<ntps>

<ntp>

<name>38.117.195.101</name>

<ntpMode>Unicast</ntpMode>

</ntp>

</ntps>

</dateTimeSetting>

I get the correct time and date for Sweden so this should work.

I've tried and tried, it seems the Cisco do NOT handle FQDN with SIP/3CX and NTP, you have to use IP Address.

I have to say, sadly WAY to many guides are in error and what people say works most of the time don't.

I got my hands on a Cisco 7941G that had SCCP, I almost bricked it trying to get it to work in the first place, then days and countless google hours and reading, now finaly, I'm getting there.

I for one skiped the "guide" how to's, solved mine by trial and error.

Now, all I have left is to find a mock up / Template of service.xml and I'm almost there.

But for this thread, I've tried many ways to get the time and date to show correct, and this is one I know working correct.

Then I post this the phone says, 10:53 11/02/14, since I live in sweden we show date and time a tad different :)

Regards

Niclas / Sweden
 
runge said:
We use G.711a instead of G.711u. Also the latest Cisco SIP firmware has a call termination bug with 3CX and any missed calls will leave the call ringing on the phone. Downgrade to an earlier firmware to solve the issue.

Thanks,

Jonathon

I'm experiencing this issue on 7941/7961 with SIP41.8-5-3S, missed calls are not placed into missed calls but stay on screen like when the phone is ringing. How can this be resolved? Is it firmware related as quoted above, or SEP.cnf.xml needs editing?

If firmware, which version would work correctly?

Thank you
 
We have not experienced this problem with 7941/7961 through various versions of firmware so would suspect SEP.cnf.xml or extension settings in 3CX.
 
Here is an example of a SEP.cnf.xml file we currently use. Localize the settings between !!.
Note with this configuration and 3CX version 10, attended transfers work however blind transfers never go to voice mail on the phone transfered to, the phone rings endlessly.

Mark
 

Attachments

ITWorks said:
We have not experienced this problem with 7941/7961 through various versions of firmware so would suspect SEP.cnf.xml or extension settings in 3CX.

I have resolved the issue by replacing the phones with 7942/7962. And I had to put firmware SIP42.8-5-2SR1S to make it work correctly.
Too bad I can't make the BLF work, or to set DTMF to be sent from phone correctly.
 
That is interesting. We use basically the same cnf file for the 7942 as the 7941. Curious as to what problems you are experiencing with BLF and DTMF.

Mark
 
ITWorks said:
That is interesting. We use basically the same cnf file for the 7942 as the 7941. Curious as to what problems you are experiencing with BLF and DTMF.

Mark

Well, I just couldn't make blf work with 794x/796x.
During a call to a someone else's digital recepcionist I can hear dtmf being sent but it's not accepted. I have tried it with couple of different numbers and it's not working on either of them.
I'm not blaming the phones, I might be missing something in the configuration files.
I'm uploading my cnf file if anyone could help with enabling blf and dtmf to be sent during a call.
Thanks.
 

Attachments

Status
Not open for further replies.

Forum statistics

Threads
111,996
Messages
590,200
Members
164,935
Latest member
Raysip