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.Supported devices are the 6900 series, 7800 series, 7900 series, 8800 series, 894X models and 9900 series.
Questions may be sent to mail gareth.palmer3@gmail.com. Source code for the project (patch, utilities and documentation) is also available on open_in_browser GitHub.
The patch provides the following features required by the Cisco IP phones that are not available in standard Asterisk.
Busy Lamp FieldSupport 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 NotificationWhen taken off-hook the phone will show as being in-use prior to making a call. |
Call Forward SynchronizationThe 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 SynchronizationPublish 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 ConferencingDynamic server-side conferences can be created allowing more than 3 participants. Other Cisco phones can be made administrators when they join the conference. |
Conference ManagementParticipants in ad-hoc conferences can be added, viewed, muted or removed from the conference by any of the conference administrators. |
Call ParkingBoth Park and Park Monitor methods are supported allowing single button parking. The parking extension is displayed on the phone's screen. |
Hunt Group LoginHunt-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 DivertIncoming calls can be sent a busy signal, connected calls can be diverted to specific extension. |
Call RecordingCall recording can be initiated from the phone and does not require Asterisk to be in the media path. |
Multiple LinesSupport for multiple lines using bulk-registration as the phones only register their first line. Additional secondary lines are automatically registered. |
Call Pickup NotificationDisplay the from and to caller-ID numbers and play a beep tone when there an incoming call available for pickup on another phone. |
RTP StreamingStream audio to multiple phones either via unicast or multicast RTP. |
Command LineCall Forward, Do Not Disturb and Hunt Group Login states can be changed using Asterisk CLI. Changes will automatically update the phone. |
Device SecuirtyPhones can load X509 certificates to verify SIP-TLS and HTTPS connections. |
Fail-overPhones 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 ConnectionPhone can connect to a patched version of OpenConnect Server VPN either automatically or on-demand. |
SIPPEER OptionsCall 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 ResetPhones can be restarted or reset using SIP notify either via AMI or the CLI. |
AS Feature EventsCall Forward and Do Not Disturb synchronization for phones from other vendors. |
Trust VerificationVerify arbitrary SSL connections via a network service. |
Certificate EnrollmentInstall an certificate signed by a local authority on to the phone. |
Malicious CallCall can be identified as being malicious. |
Quality Reporting ToolRTP call statistics are logged to the messages log and further information can be optionally gathered via XML service URL. |
CallBackSchedule a notification when an previously called phone is no longer busy. |
Select and JoinSelect and Join support required by the 7900 series to conference-in already established calls. |
Selective Auto-AnswerMake the phone auto-answer a call based on a dial-plan variable. |
Callback NumberSpecify a different number to store in the phone's Received Calls history via a dial-plan variable. |