Documentation Overview

This documentation describes how to patch Asterisk to support Cisco SIP IP phones as well as how to configure the various features available on those devices. These IP phones require additional proprietary extensions to the SIP protocol to operate correctly and are only designed to operate with Cisco Unified Call Manager.

Queries may be sent to mail_outline gareth.palmer3@gmail.com. Source code for the project (patch, utilities and documentation) is also available on open_in_browser GitHub.

Work on this project is now self-funded. If you find this work useful, please consider making a monetization_on donation.

The patch provides the following features required by the Cisco IP phones that are not available in standard Asterisk.

Busy Lamp Field

Support for busy-lamp-field using unsolicited notifications as the phones do not subscribe to hints. Extensions to PIDF XML support allow representation of ringing and Do Not Disturb states.

Off Hook Notification

When taken off-hook the phone will show as being in-use prior to making a call.

Call Forward Synchronization

The Call Forward target is recorded in Asterisk and is set back on the phone when it registers. It is also stored in Asterisk's database and will persist across restarts.

Do Not Disturb Synchronization

Publish requests from the phone to change the Do Not Disturb state is now handled by Asterisk and will be set back on the phone when it registers. It is also stored in Asterisk's database and will persist across restarts.

Ad-Hoc Conferencing

Dynamic server-side conferences can be created allowing more than 3 participants. Other Cisco phones can be made administrators when they join the conference.

Conference Management

Participants in ad-hoc conferences can be added, viewed, muted or removed from the conference by any of the conference administrators.

Call Parking

Both Park and Park Monitor methods are supported allowing single button parking. The parking extension is displayed on the phone's screen.

Hunt Group Login

Hunt-group login state is recorded in Asterisk and made available to the dial-plan. It will be set back on the phone when it registers. It is also stored in Asterisk's database and will persists across restarts.

Immediate Divert

Incoming calls can be sent a busy signal, connected calls can be diverted to specific extension.

Call Recording

Call recording can be initiated from the phone and does not require Asterisk to be in the media path.

Multiple Lines

Support for multiple lines using bulk-registration as the phones only register their first line. Additional secondary lines are automatically registered.

Call Pickup Notification

Display the from and to caller-ID numbers and play a beep tone when there an incoming call available for pickup on another phone.

RTP Streaming

Stream audio to multiple phones either via unicast or multicast RTP.

Command Line

Call Forward, Do Not Disturb and Hunt Group Login states can be changed using Asterisk CLI. Changes will automatically update the phone.

Device Secuirty

Phones can load X509 certificates to verify SIP-TLS and HTTPS connections.


Phones can automatically switch to a standby Asterisk if the connection to the primary fails. When the primary Asterisk becomes available the phone will revert back.

VPN Connection

Phone can connect to a patched version of OpenConnect Server VPN either automatically or on-demand.


Call Forward, Do Not Disturb and Hunt Group Login states can be queried and set using this function. Changing the value automatically updates the phone.

Restart and Reset

Phones can be restarted or reset using SIP notify either via AMI or the CLI.

AS Feature Events

Call Forward and Do Not Disturb synchronization for phones from other vendors.

Trust Verification

Verify arbitrary SSL connections via a network service.

Certificate Enrollment

Install an certificate signed by a local authority on to the phone.

Malicious Call

Call can be identified as being malicious.

Quality Reporting Tool

RTP call statistics are logged to the messages log and further information can be optionally gathered via XML service URL.


Schedule a notification when an previously called phone is no longer busy.

Select and Join

Select and Join support required by the 7900 series to conference-in already established calls.

Selective Auto-Answer

Make the phone auto-answer a call based on a dial-plan variable.

Callback Number

Specify a different number to store in the phone's Received Calls history via a dial-plan variable.