Using a Cisco 7941/7961 phone with 3CX

Discussion in '3CX Phone System - General' started by ITWorks, Oct 3, 2007.

  1. ITWorks

    ITWorks New Member

    Joined:
    Apr 7, 2007
    Messages:
    121
    Likes Received:
    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”.
     
  2. VladislavA

    Joined:
    Jun 9, 2007
    Messages:
    30
    Likes Received:
    0
    It works in my case with little changes:
    1. <preferredCodec>g711</preferredCodec> instead of <preferredCodec>g711ulaw</preferredCodec>, because phone doesn't understand the g711ulaw value.
    2. The <loadInformation></loadInformation> section is empty.

    * IP Phone
    Cisco 7906G (CP-7906G)
    App Load ID: jar11sip.8-3-2SR1.sbn
    Boot Load ID: tnp06.3-0-1-5.bin
    Call Control Protocol: SIP
     
  3. bgrubbs

    Joined:
    May 15, 2007
    Messages:
    4
    Likes Received:
    0
    idleURL & directoryURL

    Everything seems to be working OK for me (except the MWI of course), but I haven't been able to get the idleURL or directoryURL to work. I've gotten the servicesURL to work, but for some reason I can't get these to work. Has anyone had any luck in getting them to work?
     
  4. ITWorks

    ITWorks New Member

    Joined:
    Apr 7, 2007
    Messages:
    121
    Likes Received:
    0
    cisco phones directory url

    We use the directory URL to list staff via an xml file and recently to do LDAP searches of Active Directory. What error are you receiving? I have been unable to get a good RSS feed utilizing the services URL however.

    Mark
     
  5. perm

    Joined:
    Dec 11, 2007
    Messages:
    3
    Likes Received:
    0
    Re: cisco phones directory url

    Hi Mark
    How do you make an LDAP search in AD from an XML file?

    Can you make an "How to do" ? :?:

    /per
     
  6. ITWorks

    ITWorks New Member

    Joined:
    Apr 7, 2007
    Messages:
    121
    Likes Received:
    0
    Active Directory Search with Cisco Phones

    Hi Per,

    I am quite busy right now, but when I get a chance I will post a "how to" document here.

    Mark
     
  7. perm

    Joined:
    Dec 11, 2007
    Messages:
    3
    Likes Received:
    0
    Re: Active Directory Search with Cisco Phones

    Thanks Mark! That will be great.
    /per
     
  8. Wardy

    Wardy New Member

    Joined:
    Sep 18, 2007
    Messages:
    110
    Likes Received:
    0
    Has any one got any experience of getting the screen logo to change to something elese, I have tried all the things about bit depth etc but no luck.
    Can anyone help?
     
  9. shadow77

    Joined:
    Jan 25, 2008
    Messages:
    9
    Likes Received:
    0
    is anybody can give me a link where i can download the 7961 SIP Firmware without getting it by Cisco :?:
    I will appreciate it. :!:
     
  10. ColinB

    Joined:
    Mar 10, 2008
    Messages:
    2
    Likes Received:
    0
    Hi guys and gals. First post here (long time reader though!)...

    Sorry to dig up this post. I'm presuming other people out there are having similar issues though (from what I've read whilst googling!) I have a Cisco 7941 which I've converted to SIP, using (Cisco?) firmware version SIP41.8-2-2SR4S - I'm questioning whether it's an official Cisco release as I found the firmware on Google itself. Either way, it appears to work...

    All firmwared up, config files made, configured and TFTP'ed up. Most of my config works, from what I can see. But, I've got an issue where the phone is constantly showing 'Registering'. I've tried this with 3CX and another test machine running Asterisk, neither platforms indicated any problems whilst in debug mode, so I'm presuming it's a problem with the config on the phone.

    So, is or has anybody else experiencing/experienced the same problem. I'm hoping someone will come back to me with a direct and simple fix, no doubt showing up my incompetence. Fingers crossed anyway. Thanks for your help in advance :roll:
     
  11. ITWorks

    ITWorks New Member

    Joined:
    Apr 7, 2007
    Messages:
    121
    Likes Received:
    0
    We quite a few 7941's with 3CX and they work very well. With the paid version the Message Waiting Indicator works! Post the - <sipLines>
    - <line button="1"> section of your SEPMAC.cnf.xml file and I'll see what I can suggest.

    Mark
     
  12. ColinB

    Joined:
    Mar 10, 2008
    Messages:
    2
    Likes Received:
    0
    Hi Mark,

    Thanks for your post. Here's the current configuration on my 7941:

    <sipLines>
    <line button="1">
    <featureID>9</featureID>
    <featureLabel>5000</featureLabel>
    <proxy>80.74.xxx.xxx</proxy>
    <port>5060</port>
    <name>1000</name>
    <displayName>Colin</displayName>
    <autoAnswer>
    <autoAnswerEnabled>2</autoAnswerEnabled>
    </autoAnswer>
    <callWaiting>3</callWaiting>
    <authName>1000</authName>
    <authPassword>1234</authPassword>
    <sharedLine>false</sharedLine>
    <messageWaitingLampPolicy>3</messageWaitingLampPolicy>
    <messagesNumber>8500</messagesNumber>
    <ringSettingIdle>4</ringSettingIdle>
    <ringSettingActive>5</ringSettingActive>
    <contact>1000</contact>
    <forwardCallInfoDisplay>
    <callerName>true</callerName>
    <callerNumber>false</callerNumber>
    <redirectedNumber>false</redirectedNumber>
    <dialedNumber>true</dialedNumber>
    </forwardCallInfoDisplay>
    </line>

    Fairly straight forward. I presume this is correct, apart from the IP address which I've starred out...

    What's the chances of you sending me a copy of your SEPMAC.cnf.xml config file? I wouldn't mind comparing the features and your setup. If you could, you'd be a great help.. if not, don't worry. Any pointers on this would be most grateful :mrgreen:

    Thanks again.
    Colin
     
  13. ITWorks

    ITWorks New Member

    Joined:
    Apr 7, 2007
    Messages:
    121
    Likes Received:
    0
    Hi Colin,

    Your config does look OK. A sample of one of mine is at the start of this post if you'd like to compare. Note the later post regarding the g711 codec. I checked Cisco.com software downloads for the firmware version you listed and found none by that name. Can you monitor your TFTP server and see if your phone is requesting and receiving the cfg file? Also does the 3CX log show the phone attempting to register?

    Mark
     
  14. Discovery Technology

    Joined:
    Apr 19, 2008
    Messages:
    278
    Likes Received:
    0
    Nice post, ITworks...

    Just out of curiosity, have you come across a scenario where you need to get more than two active lines working on a 79xx handset with 6 lines?

    I am working on a config at the moment but can only seem to get 2 active calls going, and when a third comes in or if I try to transfer eitrher of the 2 calls, I get "line busy"

    I suspect that it may have something to do with the following, but not quite sure...

    <alwaysUsePrimeLine>false</alwaysUsePrimeLine>
    <alwaysUsePrimeLineVoiceMail>false</alwaysUsePrimeLineVoiceMail>

    I guess I would then need to register each line using the same extensions credentials - any thoughts or takers?

    This is for a reception handset, fyi.
     
  15. Discovery Technology

    Joined:
    Apr 19, 2008
    Messages:
    278
    Likes Received:
    0
    Disregard my last post - call it a blonde moment...

    I realised that I was only running the NFR 2-call version of 3CX and it was the phone system that was limiting the number of simultaneous calls the 7965G handset could take. As soon as I upgraded the license, I could happily make as many calls as I liked on the first line (nothing to do with the primeline config lines or the number of lines I configured in the config file).

    All good now...
     
  16. runge

    Joined:
    Apr 9, 2009
    Messages:
    6
    Likes Received:
    0
    Hi Guys,

    Did any of you solve the incorrect time issue?

    Thanks,

    Jonathon
     
  17. Garrett

    Joined:
    Dec 20, 2009
    Messages:
    1
    Likes Received:
    0
    Although this tutorial is more for Asterick, would it be possible to use this tutorial to set up a Cisco 7960G for use with a 3CX system?
     
  18. runge

    Joined:
    Apr 9, 2009
    Messages:
    6
    Likes Received:
    0

    Hi Garrett,

    We have the 79x1 series working on 3CX. You can use the same tutorial. The only difference is you will not have the correct time/date. Asterisk systems return the date/time in the SIP 200 reply information while 3CX doesn't. I have asked for a feature inclusion, but was told by a number of staff (both via forum http://www.3cx.com/forums/time-provisioning-via-sip-200-ok-reply-12895.html and over the phone) that they had an agreement with Cisco to only support the SPA models.

    The only way to change the date/time is to SSH into each phone every time it is booted as there is no root access to permanently write the time.

    We are now looking around at alternatives as we believe this to be a critical feature. The majority of our clients have Cisco Phones or prefer them over others.

    The following is our config for the 7941s:
    Code:
    
    <device> 
    <deviceProtocol>SIP</deviceProtocol> 
    <sshUserId>sshusername</sshUserId> 
    <sshPassword>sshpassword</sshPassword> 
    <devicePool> 
    <dateTimeSetting> 
    <dateTemplate>D-M-Y</dateTemplate> 
    <timeZone>E. Australia Standard Time</timeZone> 
    <ntps> 
    <ntp> 
    <name>172.20.0.2</name> 
    </ntp> 
    </ntps> 
    </dateTimeSetting> 
    <callManagerGroup> 
    <members> 
    <member priority="0"> 
    <callManager> 
    <ports> 
    <ethernetPhonePort>2000</ethernetPhonePort> 
    <sipPort>5060</sipPort> 
    <securedSipPort>5061</securedSipPort> 
    </ports> 
    <processNodeName>172.20.0.2</processNodeName> 
    </callManager> 
    </member> 
    </members> 
    </callManagerGroup> 
    </devicePool> 
    <sipProfile> 
    <sipProxies> 
    <registerWithProxy>true</registerWithProxy> 
    </sipProxies> 
    <enableVad>false</enableVad> 
    <preferredCodec>g711alaw</preferredCodec> 
    <natEnabled></natEnabled> 
    <phoneLabel>Cisco_Phone</phoneLabel> 
    <sipLines> 
    <line button="1">
    <featureID>9</featureID>
    <featureLabel>100</featureLabel>
    <proxy>172.20.0.2</proxy>
    <port>5060</port>
    <name>100</name>
    <displayName>100</displayName>
    <autoAnswer>
    <autoAnswerEnabled>2</autoAnswerEnabled>
    </autoAnswer>
    <callWaiting>3</callWaiting>
    <authName>100</authName>
    <authPassword>1234</authPassword>
    <sharedLine>false</sharedLine>
    <messageWaitingLampPolicy>3</messageWaitingLampPolicy>
    <messagesNumber>800</messagesNumber>
    <ringSettingIdle>4</ringSettingIdle>
    <ringSettingActive>5</ringSettingActive>
    <contact>100</contact>
    <forwardCallInfoDisplay>
    <callerName>true</callerName>
    <callerNumber>false</callerNumber>
    <redirectedNumber>false</redirectedNumber>
    <dialedNumber>true</dialedNumber>
    </forwardCallInfoDisplay>
    </line>
    <line button="2">
    <featureID>9</featureID>
    <featureLabel>100</featureLabel>
    <proxy>172.20.0.2</proxy>
    <port>5060</port>
    <name>603</name>
    <displayName>100</displayName>
    <autoAnswer>
    <autoAnswerEnabled>2</autoAnswerEnabled>
    </autoAnswer>
    <callWaiting>3</callWaiting>
    <authName>100</authName>
    <authPassword>1234</authPassword>
    <sharedLine>false</sharedLine>
    <messageWaitingLampPolicy>3</messageWaitingLampPolicy>
    <messagesNumber>800</messagesNumber>
    <ringSettingIdle>4</ringSettingIdle>
    <ringSettingActive>5</ringSettingActive>
    <contact>100</contact>
    <forwardCallInfoDisplay>
    <callerName>true</callerName>
    <callerNumber>false</callerNumber>
    <redirectedNumber>false</redirectedNumber>
    <dialedNumber>true</dialedNumber>
    </forwardCallInfoDisplay>
    </line>
    </sipLines> 
    <dialTemplate>dialplan.xml</dialTemplate> 
    </sipProfile> 
    <userLocale>
    <name>English_United_States</name>
    <langCode>en</langCode>
    </userLocale>
    <networkLocale>United_States</networkLocale>
    <networkLocaleInfo>
    <name>United_States</name>
    </networkLocaleInfo>
    <commonProfile> 
    <phonePassword></phonePassword> 
    </commonProfile> 
    <directoryURL></directoryURL> 
    <servicesURL></servicesURL> 
    </device> 
    
    
    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
     
  19. comresource

    comresource Member

    Joined:
    May 22, 2009
    Messages:
    303
    Likes Received:
    0
    Cant you just set an NTP server in the provisioning file?
     
  20. runge

    Joined:
    Apr 9, 2009
    Messages:
    6
    Likes Received:
    0
    Doesn't work as NTP only applies when the Locate files can be found.

    Locate files are only available on CCM. You can download the files on cisco.com, but SIP files are not available. TAC support gave me the SIP files, but it still doesn't work even though it finds the files. TAC Support can't help out as they don't support SIP.
     

Share This Page