Upgrade 3CX to v18 and get it hosted free!

Asterisk Presence for Cisco 79×1 Phones

Author image

Newer Cisco IP Phones such as the 7941, 7961, and 7971 now support BLF or presence information for speed dial numbers. Unfortunately, configuring the phones for this to work is not easy, nor straightforward.

To get BLF working on the Cisco phones:

  • The phone must be configured for a Call Manager server, which is how you make the phones connect using SIP/TCP instead of SIP/UDP:

This means setting your SIPDefault.cnf as so:

          call_manager1_addr: "server.address.here"

For phones which use the newer .cnf.xml style configuration, you do it by putting the Asterisk server in the callManagerGroup block:

         <callManager>
            <ports>
               <ethernetPhonePort>2000</ethernetPhonePort>
               <sipPort>5060</sipPort>
               <securedSipPort>5061</securedSipPort>
            </ports>
            <processNodeName>server.address.here</processNodeName>
         </callManager>

And then defining the lines with the literal string “USECALLMANAGER” as the proxy address:

      <sipLines>
         <line button="1">
            <featureID>9</featureID>
            <featureLabel>Label</featureLabel>
            <proxy>USECALLMANAGER</proxy>
            <port>5060</port>

You’ll also need to configure the phone to have speed dial entries bound to lines, like this (.cnf style):

         speed_line2: "50"
         speed_label2: "Employee A"

or this (.cnf.xml style):

         <line button="2">
           <featureID>21</featureID>
           <featureLabel>Employee A</featureLabel>
           <speedDialNumber>761</speedDialNumber>
         </line>

If you wish the BLF to show the ringing state as well as the inuse state,

         <line button="2">
           <featureID>21</featureID>
           <featureLabel>Employee A</featureLabel>
           <speedDialNumber>761</speedDialNumber>
           <featureOptionMask>1</featureOptionMask>
         </line>
  • You must enable tcpenable=yes in the [general] section sip.conf (Asterisk 1.6 or newer)
  • You must enable “transport=tcp” for the sip peer in sip.conf
    • Do not under any circumstances enable qualify= for a sip tcp peer
  • The server must respond to the SUBSCRIBE request with a content type of application/pidf+xml even though the SUBSCRIBE request lists application/cpim-pidf+xml.

This will require patching Asterisk. The current best-working patch is being tracked at Digium bug 13996. Current support is preliminary and needs work.

See also


Article Reviews

Write a Review

Your email address will not be published. Required fields are marked *

Required Field. Minimum 5 characters.

Required Field. Minimum 5 characters, maximum 50.

Required field.There is an error with this field.

Required Field.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

There are no reviews for this article. Be the first one to write a review.

Related Posts:

Get 3CX - Absolutely Free!
Link up your team and customers Phone System Live Chat Video Conferencing

Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.

3CX
A 3CX Account with that email already exists. You will be redirected to the Customer Portal to sign in or reset your password if you've forgotten it.