The Skinny Client Control Protocol (SCCP) is a simple stimulus interface between the Cisco IP Phone and CallManager. Communication takes place over a TCP/IP connection that the phone establishes to CallManager on port 2000 by default (port number is configurable). Secure connections communicate on port 2443. Once established, the connection remains as long as the phone is capable of initiating or accepting calls.
SCCP provides a means of receiving stimulus events from the phone such as off-hook, on-hook, and button press events (including keypad digits, fixed keys, softkeys, and line keys). SCCP also provides a means of sending control information to the phone to drive the specific behavior required for the phone to provide the user with the correct information as calls are made and features are handled. You can review the details of SCCP in this appendix.
Figure C-1 illustrates calls made between Cisco IP Phones.
Figure C-1. Making a Call Between IP Phones
Table C-13 provides a step-by-step description of calls placed between two Cisco IP Phones.
Phone A |
Cisco CallManager |
Phone B |
Description |
---|---|---|---|
OffHook --> |
When you perform any number of off-hook actions, such as lifting the handset of IP Phone A or pressing the NewCall softkey, the phone reports off-hook to CallManager. |
||
SetLamp <-- |
CallManager sends this message for several possible reasons. SetLamp has a lineInstance field. When the lineInstance field is 0, it lights or extinguishes the MWI lamp. If the lineInstance is other than 0, it turns on the envelope icon next to the line button on which a message is waiting. If the line button can be lit, it will be lit as well. |
||
CallState <-- |
CallManager sends the CallState information, which the Cisco IP Phones 79xx series use to update the icon of the appropriate line as a visual indication of call state. |
||
SelectSoftKeys <-- |
CallManager sends SelectSoftKeys to activate a set of softkeys and a mask to select which softkeys are enabled and which keys are disabled. Cisco 79xx series IP Phones use softkeys. |
||
DisplayPrompt Status <-- |
CallManager sends the DisplayPromptStatus to update the prompt line, which is the display line just above the softkey text line on Cisco 79xx series IP Phones. This initial prompt for off-hook state is "Enter number." For idle state, the phone displays "Your current options." The prompt message is associated with a particular line. If a different line is selected, the prompt changes to the prompt associated with the selected line. |
||
DisplayText <-- |
CallManager sends the text to update the display of a limited-display phone, such as the 30VIP. |
||
ActivateCallPlane <-- |
CallManager sends ActivateCallPlane to activate the call plane for the specified line. In this case, the call is line 1 as the default because no specific line was selected. Cisco 79xx series IP Phones use the ActivateCallPlane command. |
||
StartTone <-- |
CallManager directs the phone to play an inside dial tone. The phone internally generates a dial tone. |
||
KeyPad Button --> |
As you enter the number of the desired destinationPhone B in this casethe phone sends a KeyPadButton for each digit dialed. The KeyPadButton messages continue until CallManager determines that you have entered the required number of digits to reach your destination. When CallManager determines the called partyPhone B in this caseCallManager initiates the message sequence to Phone B to extend the call to Phone B. |
||
StopTone <-- |
CallManager directs the phone to stop playing dial tone after you enter the first digit. |
||
SelectSoftKeys <-- |
CallManager sends SelectSoftKeys to activate the next set of softkeys and the mask to select which softkeys are enabled and which softkeys are disabled. Cisco 79xx series IP Phones use softkeys. |
||
CallState --> |
CallManager sends CallState information, which Cisco 79xx series IP Phones use to update the call state information and the icon of the appropriate line as a visual indication of call state. In this case, the call state indicates an incoming call. |
||
SelectSoftKeys --> |
CallManager sends SelectSoftKeys to Phone B to activate the appropriate softkeys. |
||
DisplayPrompt Status --> |
CallManager sends DisplayPromptStatus to Phone B to update the display associated with the particular line of the incoming call. This display persists for the selected line until it is changed by another DisplayPromptStatus message of an equal or higher priority. |
||
DisplayPriNotify --> |
CallManager sends DisplayPriNotify to Phone B to indicate an incoming call. DisplayPriNotify, which has an associated timeout that defaults to 10 seconds, updates the display immediately and is not associated with a particular line. The priority of the incoming call is included with the notification. |
||
CallInfo --> |
CallManager sends CallInfo to the station to provide the specific information about the call, which includes calling and called party name and number, the line number for the call, and the type of call (inbound, outbound, or forwarded). In this case, the call type is inbound. The name might not be provided in all cases. A gateway call, for example, might not provide calling party name. |
||
SetLamp --> |
CallManager sends this message for several possible reasons. SetLamp has a lineInstance field. When the lineInstance field is 0, it lights or extinguishes the MWI lamp. If the lineInstance is other than 0, it turns on the envelope icon next to the line button on which a message is waiting. If the line button can be lit, it will be lit as well. |
||
SetRinger --> |
CallManager sends the SetRinger to Phone B to cause the phone to ring, indicating an incoming call. The ring type is InsideRing, as distinguished from OutsideRing, because this is an internal call from Phone A to Phone B. |
||
StartTone <-- |
CallManager sends StartTone to Phone A to initiate the ringback tone to the caller at Phone A. The tone is generated internally by Phone A. |
||
CallState <-- |
CallManager updates the call state of Phone A to indicate that Phone B is now ringing. |
||
SelectSoftKeys <-- |
CallManager sends SelectSoftKeys to Phone A to activate the appropriate softkeys for the ringing call. |
||
DisplayPrompt Status <-- |
CallManager sends DisplayPromptStatus to Phone A to display the prompt appropriate for the updated softkeys. |
||
CallInfo <-- |
CallManager sends CallInfo to Phone A to provide the specific information about the call, which includes calling and called party name and number, the line number for the call, and the type of call. Because Phone A originated the call, the call is outbound. |
||
OffHook <-- |
When you perform any number of off-hook actions, such as lifting the handset of Phone B or pressing the Answer softkey, the phone reports off-hook to CallManager. |
||
SetRinger --> |
CallManager turns off the ringer because the call has been answered. |
||
SetLamp --> |
CallManager uses this message to set the line lamp of the line answered on Phone B. |
||
CallState --> |
CallManager updates the call state information for the call because it has changed from ringing to answered. |
||
ActivateCallPlane --> |
CallManager activates the call plane for the line that was answered. |
||
StopTone <-- --> |
CallManager stops the ringback tone on Phone A and the ringer tone on Phone B. |
||
OpenReceive Channel (audio) <-- --> |
CallManager sends OpenReceiveChannel to both Phone A and B to cause the phone to begin receiving audio sent from the other phone. This is only half of the audio path, and because neither phone is transmitting at this point, the connection is not yet fully established. |
||
OpenMultiMedia ReceiveChannel (video) <-- --> |
CallManager sends OpenMultiMediaReceiveChannel (video) to both Phone A and B to cause the phone to begin receiving video sent from the other phone. This is only half of the video path, and because neither phone is transmitting at this point, the connection is not yet fully established. |
||
OpenMultiMedia ReceiveChannel (data) <-- --> |
CallManager sends OpenMultiMediaReceiveChannel (data) to both Phone A and B to cause the phone to begin receiving data sent from the other phone. This is only half of the data path, and because neither phone is transmitting at this point, the connection is not yet fully established. |
||
CallState <-- --> |
The call state is updated to connected for both Phone A and B. |
||
SelectSoftKeys <-- --> |
The softkeys are updated on both Phone A and B. |
||
DisplayPrompt Status <-- --> |
The prompt line is updated on both Phone A and B. |
||
CallInfo <-- --> |
The call info is updated for both Phone A and B. |
||
Open Receive Channel Ack (audio) --> |
Open Receive Channel Ack (audio) <-- |
Both phones have responded with an OpenReceiveChannelAck (audio), indicating that they are ready to receive audio transmission. |
|
Open MultiMedia Receive Channel Ack (video) --> |
Open MultiMedia Receive Channel Ack (video) <-- |
Both phones have responded with an OpenMultiMediaReceiveChannelAck (video), indicating that they are ready to receive video transmission. |
|
Open MultiMedia Receive Channel Ack (data) --> |
Open MultiMedia Receive Channel Ack (data) <-- |
Both phones have responded with an OpenMultiMediaReceiveChannelAck (data), indicating that they are ready to receive data transmission. |
|
StartMedia Transmission (audio) <-- --> |
CallManager sends StartMediaTransmission (audio) to both Phone A and B to cause the phone to begin sending audio to the other phone. Because both phones are transmitting and receiving audio at this point, the audio connection is now fully established. |
||
StartMultiMedia Transmission (video) <-- --> |
CallManager sends StartMultiMediaTransmission (video) to both Phone A and B to cause the phone to begin sending video to the other phone. Because both phones are transmitting and receiving video at this point, the video connection is now fully established. |
||
StartMultiMedia Transmission (data) <-- --> |
CallManager sends StartMultiMediaTransmission (data) to both Phone A and B to cause the phone to begin sending data to the other phone. Because both phones are transmitting and receiving data at this point, the data connection is now fully established. |
Cisco CallManager Architecture
Call Routing
Station Devices
Trunk Devices
Media Processing
Manageability and Monitoring
Call Detail Records
Appendix A. Feature List
Appendix B. Cisco Integrated Solutions
Appendix C. Protocol Details
Index