Cisco UC 500#
CTI#
This chapter describes switching on the telephone system Cisco UC500 at the XPhone Connect Server with the CSTA interface (TR87).
Software version:
Cisco UC 5xx, Version 8.0.4, Software-Image V15.0(1)
Optional: Optional tool C4B CME Browser V4.1 Build 878 or higher (can be found on the XPhone Connect Server DVD)
Only SCCP IP phones are supported.
Supported functions#
The following functions are available at the CSTA interface:
Telephony functions
Dialling (MakeCall) with the handset put down
Accepting (Answer)
Hang up (Drop)
Status display: Missed calls
Status display: Connect incoming call
Status display: Connect outgoing call
Telephone number: internal caller (outgoing/incoming)
Telephone number: external caller (outgoing/incoming)
Telephone number: Called person for pickup (CalledID)
Telephone number: When redirected by third person (RedirectionID)
Team functions
Forward call (Redirect, Deflect)
Second call
Waiting call: Call display
Accept waiting call (callback is started)
Forward waiting call (redirect, deflect)
Callback/Swaphold
Callback: Show status
Callback (basic functions: consultation, transfer)
Transfer call without callback (blind transfer)
Swaphold
Hold call (Hold/Unhold)
Unhold when earpiece was not put down
Call forwarding
Show status (forwarding, DoNotDisturb)
Forwarding
Set DoNotDisturb
Fwd: Shows telephone number to which the call is redirected
Restrictions
Reject call
Detect call status: Busy
Called ID is not transferred for direct call
RedirectingID is not transferred if the call was forwarded from another connection.
Directed pickup
Accept/reject second call.
Callback when busy
Withhold own number
Set/show forwarding internal/external separately, after a period, when busy.
Display and control of conferences.
Warning
This will lead to erroneous displays in the CTI interface. This is due to the current design of the UC 500 interface and cannot be prevented by the application.
Configuration#
Configuration of the CSTA interface of the telephone system#
You can find detailed information for setting up the CTI interface with CSTA in the Cisco connection documentation of the CME: http://www.cisco.com/en/US/docs/voice_ip_comm/cucme/admin/configuration/guide/cmecti.html
Important settings in Cisco UC 500#
Start the terminal for the configuration (Telnet or Hyperterminal) or use the HTTP configuration interface accordingly. First, activate the AXL interface. This allows configuration and diagnostics support with the XPhone Connect Server.
An advanced status query of the end devices is also made with the AXL interface:
enable configure terminal ip http server ixi transport http response size 64 request timeout 10 no shutdown exit ixi application cme response timeout 10 no shutdown exit
Activate the CTI function:
voice service voip allow-connections sip to sip gcid no cti shutdown cti csta mode basic sip min-se 120 exit exit voice register global mode cme exit
Set up a new SIP session sever if it does not already exists (default configuration). Set the number of the session server to a value between 1 and 8 that is not yet used:
voice register session-server 1 keepalive 60 register-id c4b cti-aware exit
Replace the terms <user name> and <password> with the values you favour. Note both down for later reference. They are login information of the AXLUser:
telephony-service xml user <username> password <password> 15 no shutdown end
C4B CME Browser#
Carry out the further configuration with the supplied tool C4BCMEBrowser.exe. You will find this program in the Server\Tools directory on the DVD. Use at least version 4.1 Build 878.
Start the programme and enter the name of the AXL user, his password and the IP address of UC500.
Read the configuration of the system with Read configuration. Then, select Activate CTI.
The following dialogue shows the command that are necessary to activate the CTI functions. Use the default settings in this dialogue.
The button Activate Now sends the commands to UC 500.
Running the Activate now function is non-critical.
Hint
Do not forget to save the configuration of UC500 after testing the system, since otherwise the configuration will be lost after restarting the system. If you set the option Save Running-Config to Startup-Config before running the Activate now function, this will be done automatically. Test the CTI function before saving the configuration and, if successful, run the Activate now function with the save option set. Then, run a reload of the system.
Monitoring CTI sessions
You can control and, if necessary, reset the SIP sessions created for call control using the tool C4B CME Browser. To do this, run the CTI Commands… function. After Get CTI Sessions, you will get a list with the present sessions. You can reset sessions individually or completely. It may not be possible to use the CTI functions for a few minutes after resetting. Resetting manually is generally not possible, since the XPhone Connect Server monitors the session automatically. However, the function is useful to detect possible network problems, if SIP sessions are disconnected e.g. by the router.
Making configuration settings manually#
These settings need only be carried out, if the additional tool C4B CME Browser is not to be used. For every end device that is to be available for CTI, this command sequence must be run: Replace the value for “x” with the corresponding extension ID of the connection and “y” with the extension number. Also add the command “cti notify”, if it is a mobility extension, i.e. if the telephone number to be monitored is not associated permanently with the same physical device:
ephone-dn x number y cti watch exit
Appendix - Additional information - Switching on with TR87#
Additional information is not required for standard switch-on. For complex network environments, it may be necessary to change these settings.
Appendix UC 500 - General#
CTI connections based on the TR87 protocol (http://www.ecma-international.org/publications/techreports/E-TR-087.htm) are based in the SIP protocol documented in numerous RFCs (http://de.wikipedia.org/wiki/Session_Initiation_Protocol). An important speciality of SIP is that notification exchange is possible via TCP connections, without connection by sending UDP messages and a mixture of both network protocols. In communication without connection, it is necessary that both sides define a port, where they can receive messages. The configuration of the TR87 connection therefore consists of two parts: a local configuration and the configuration with which the target can be reached.
Another speciality of the TR87 switch-on is that the connection is realised for each line, i.e. there is no defined functionality and connection possibility at the telephone system level. The function of the telephone system in the XPhone Connect Server is therefore only dependent on a successful start-up of the local SIP end point. Information about the connectivity to the telephone system can only be obtained after configuration/activation of a line.
Only in certain cases it is necessary that the local SIP end point registers in the target system (e.g. Nortel connection via NRS=network routing service). In this case, the connection status of the telephone system also affect the connectivity to the telephone system.
XPhone Connect configuration#
System settings > Telephony & Meetings > Telephony > CTI
Click new landline gateway in the table header. The Create new landline gateway dialogue opens:
- PBX type:
Select Cisco UC500/CME (uaCSTA)
- Name:
Enter a unique name here.
- Dialling parameter:
Select a dialling parameter.
- Deactivated:
Set this flag if this gateway is to be pre-configured but not activated.
- Connection to the PBX (SIP-URI):
Enter the host name or the IP address of the UC500 system here. Enter the port (default: 5060).
Hint
You can find additional information about the structure of the SIP-URI in the appendix
- Local SIP domain:
If you use Unified Messaging functions with IP (XCAPI), the standard SIP port 5060 on the XPhone Connect Server is already occupied.
Therefore, port 5062 is used as default port for the SIP listener.
This setting only affects the SIP port at which the XPhone Connect Server receives SIP messages.
The SIP settings of UC500 do not need to be re-configured for this.
- AXL access parameter:
Generally, the host name or IP address of the AXL access is identical to the ones of the SIP access. Also enter the AXL access parameters here.
System settings > Telephony & Meetings > Telephony > CTI > New Landline gateway
Advanced settings#
Deactivate SessionTimeout of the XPhone Connect Server. To do this, click on the tab Advanced settings and then Add; enter the following name and value and then click Apply.
Name:
SIPSessionTimerValue:
0
When the configuration is completed click Apply and then Save to save the settings.
Diagnostics#
You can find information on diagnostics here.
XPhone Connect Line configuration#
System settings > Telephony & Meetings > Telephony > Lines
There are no further peculiarities. The corresponding Lines and Users must be set up and configured in the XPhone Connect Server.
If several network cards are to be used#
Also create the parameter SIPDomain in the advanced settings of the telephone system. There, enter the network where the network card is active with which your UC500 can be reached.
In Local SIP domain, click Advanced (see above) and enter the following value:
sip:CTIServer@{domain}:5062;transport=tcp,udp. If required, replace port 5062 (local SIP listener port) with another value.
Configuring the local end point#
In most cases, it is not necessary to change the configuration of the local end point, i.e. the default settings can be applied. Exceptions can be:
The standard SIP listener port 5062 on the XPhone Connect Server is already in use locally by another service (e.g. XCAPI). (See also FAQ)
There are several IP addresses/network cards and the target can be reached with default routing
Local and remote SIP end points are configured with so-called SIP-URIs (start with sip:). You can use variables in these URIs for simplification (e.g. for later changes):
The SIP-URI is a central configuration parameter in the XPhone Connect Server. It can contain the following variables:
Variable |
Description |
{domain} |
Refers to the PBX parameter |
{port} |
Refers to the PBX parameter |
{localhost_ip} |
Refers to the first IP address of the network card |
{localhost_name} |
Refers to the local host name of the system |
Example for SIP-URI: sip:CTIServer@192.168.0.122:{port}
In addition to variables, there are a number of important default parameters that can be used in SIP-URIs. The default parameters can also be used in the variables:
URI default parameter |
Description |
transport |
Favours certain transport protocols. Values: tcp, udp (separate several values with commas) |
maddr |
Specifies the IP address for domains that cannot be resolved via DNS. Use this parameter e.g. if the service domain created in Nortel NRS is not known in the network. |
grp |
Enables the authorization of CTI access via a so-called Customer Group |
pw |
Password for authorisation. |
Example: sip:grp=Group1;pw=1234;Account@domain.de;maddr=192.168.2.5
The following list of PBX parameters can be set in the Advanced settings of the telephone system configuration in the XPhone Connect Server. In the table you will find the PBX parameters for configuring the local endpoint:
Name |
Description |
Value: |
SIPDomain |
Contains the local SIP domain. |
{localhost_ip} |
SIPPort |
Includes the SIP port used via the variable {port}. |
5060 |
SIPLocal |
Configures the local end point used to receive SIP messages (see notes). |
sip:CTIServer@*:{port} ;transport=udp,tcp |
SIPFlags |
+1: Repair UTF8 coding of SIP files +2: Register in the target system (see notes) +4: Perform registration without NAT probing +8: Activate strict sequence verification of events (see following notes under the table) (see following notes under the table) |
0 |
SIPSessionTimer |
Timer (units: seconds) to maintain the connection and control the SIP sessions. |
1800 |
Hint
The SIPLocal parameter defines the local endpoint. With
*a binding to all local IP addresses on the specified port takes place. If the local system has several IP addresses of which only one is connected to the target system, change the valueSIPDomainto this IP address (a DNS name can also be used if it can be uniquely resolved). Also change the value of SIPLocal and replace*with the value{domain}.If another port is to be used locally, only change the settings of
SIPPort.Registration on the target system, which can be activated via
SIPFlags= 2, is carried out when the telephone system is started. See Registration on the target system.CSTA events are often only provided by the target system via UDP. However, the sequence of the transferred messages is not guaranteed with UDP, i.e. the sequence upon receipt can be different from the sending sequence. According to SIP-RFC, messages that were overrun must be discarded. This would result in missing CSTA messages and therefore an erroneous status display. To prevent this, SIP messages with incorrect sequence are also processed in default. A strict sequence verification can be activated with the flag, if required.
Registration in the target system#
Registration in the target system may be necessary for different reasons. The local end point then publishes its current availability and status. The target system can dynamically redirect e.g. the SIP communication to another target with the 302:Moved temporarily.
As the registration is directly related to the structure of TR87 connections described below, the parameters configured there are also used by default. In the simplest case, it is therefore sufficient to add the flag “2” to the SIPFlags parameter described above. The registered local system is only described in the SIPDefaultFrom parameter (see Connections). The target of the registration call can be defined as follows:
Name |
Description |
Value |
|
Overwrites the target for registration. If the parameter is not configured, the first non-empty default value is used. |
1. Wert von SIPDefaultTo 2. Wert von SIPDefaultProxy |
Configuring the TR87 connection#
One TR87 connection to the target system is established for each line. For this purpose, SIP is used as transport mechanism for CSTA messages. Generally speaking, each CSTA session is a “request” that stays in the “connect” status for the entire duration of the session. “Hanging up” the call represents the end of the CSTA session. CSTA messages are swapped using SIP-INFO Message during the session.
The manufacturer specifies how the session or the request must be initiated. The initial SIP-INVITE Message often requires a URI containing data of the affected extension. This information can be included transparently with additional variables:
Example: sip:{extension}@195.10.1.11 contains the dial number of the extension in the address field of the URI. You can find an additional line-specific list of variables for the configuration of URIs below:
Variable |
Description |
{extension} |
Refers to the extension of the line |
{address} |
Refers to the complete address of the line in canonical form (+49(89)-12345-0) |
{device_id} |
Refers to the conversion address -> DeviceID (see next chapter) |
{device_id_tel} |
Like {device_id} but enforces a TEL-URI, i.e. starts with tel: |
{device_id_sip} |
Like {device_id} but enforces a SIP-URI, i.e. starts with sip: |
{destination_id} |
Refers to the conversion address -> DestinationID (see next chapter) |
{destination_id_tel} |
Like {destination_id} but enforces a TEL-URI, i.e. starts with tel: |
{destination_id_sip} |
Like {destination_id} but enforces a SIP-URI, i.e. starts with sip: |
List of all extended PBX parameters for configuration of the TR87 connection:
Name |
Description |
Value: |
|
URI for connection Configured with the entry field of the telephone system, i.e. not as “Advanced setting”. |
|
|
Value of the SIP-To Header Determined automatically from SIPDefaultProxy in default. |
|
|
Value of the SIP-From Header. |
sip:CTIS erver@{domain}:{port} |
|
Value of the SIP-Contact Header Determined automatically from SIPDefaultFrom in default. |
Hint
The value of SIPDefaultForm is mainly made up of the values of SIPDomain and SIPPort. This means that it automatically benefits from the settings of the local endpoint. The name CTIServer used for local addressing is a default value that may be overwritten in connection with registration (see previous chapter).
If there are lines require a very particular configuration that deviates from the majority of the other lines, or if the required SIP parameters cannot be met with the variables (e.g. user name/password in URI), then the PBX parameters can be overwritten with line parameters, i.e. for each line. Line parameters for configuring the TR87 connection:
Name |
Description |
Value: |
|
Overwrites the PBX parameter SIPDefaultProxy. |
|
|
Overwrites the PBX parameter SIPDefaultTo. |
|
|
Overwrites the PBX parameter SIPDefaultFrom. |
|
|
Overwrites the PBX parameter SIPDefaultContact. |
|
|
Private context information with which the TR87 session is initialised (see next chapter) |
{device_id} |
Hint
The value of SIPPrivateData is part of the initial INVITE messages that starts the session. This is often the only and decisive parameter that defines the relation SIP-Session <=> CSTA-Device. Therefore the definition of SIPPrivateData often depends on the manufacturer. Here, a TEL-URI is used in the standard by analysing the variables {device_id}.
Example: tel:2010;phone-context=logicalDevice
Configuring special extended PBX parameters#
Two other important extended PBX parameters are responsible for the conversion of telephone numbers/addresses into the format accepted by the system. There are two types: DeviceID and DestinationID.
The DeviceID here always refers to the reference to an extension in the system for which an action is to be carried out.
The DestinationID is always the target of an action and can be another extension in the system as well as an externally available telephone number.
Special PBX parameters:
Parameter |
Description |
|
Regular printout for formatting the TEL-URI for the CSTA-Device ID parameter. The default value: uses the extension of the line with phone-context=logicalDevice. |
|
Regular printout for formatting the TEL-URI for numbers called. Standard: uses phone-context=dialstring. |
The parameters consist of a printout for a match/replace action with regular expressions. The general format is:
<Match1>||<Replace1>||<Match2>||<Replace2>
The entry in SIPFormatDeviceID is always a telephone number in canonical form, e.g. +49(89)12345-922.
The default rule generates from this:
tel:922;phone-context=logicalDevice
The entry in SIPFormatDestinationID is always a telephone number in dialable format, i.e. as it is generated by the associated dialling parameters in the XPhone Connect Server, e.g. 008912345922 (additional 0 for office).
The default rule generates from this:
tel: 008912345922;phone-context=dialstring
FAQ#
Which settings must be changed for multiple network cards?
The following procedure is recommended for the settings:
PBX:SIPLocal= sip:CTIServer@{domain}:{port};transport=udp,tcp
PBX:SIPDomain=<Local IP address that can be reached via the target>
The local SIP port 5060 may be used by another application. How can I check this?
Use the command:
netstat –a –nDisplay of the local listeners on TCP/UDPnetstat –a –n –oAlso show the process ID.
To find the name from the process ID, use e.g.
tasklist –fi "PID eq <Value of PID>"
How do I change the local SIP port to a value other than the default port 5060?
With the settings
PBX:SIPPort=<Portnummer>