49 Configuring Third-Party Call Control Server Objects

The ME can act as an intermediary between third-party call control (3PCC) servers (e.g., BroadWorks, Cisco Call Manager and Avaya AES) and Microsoft OCS. The ME communicates with OCS using CSTA-over-SIP. (CSTA is a protocol used by OCS to communicate call state information, which can then be reflected in user presence status.) The ME communicates with the 3PCC servers using OCI (BroadWorks) or JTAPI (Cisco and Avaya). You must configure the jtapi master-service to enabled third-party call control.

Third Party Call Control functionality enables Windows Communicator clients to place calls between registered SIP telephony endpoints using a 3PCC server and to place calls between any PSTN-enabled phones (wired line, mobile phones, etc.) via standard SIP gateways. In addition, subscribers can take advantage of features such as the ability to: place calls on hold; conference in third parties; transfer calls; use click-to-call dialing when calling other parties; single click to begin a conference call; accept incoming calls to the desk phone using the Communicator client; and redirect calls to any other desktop or mobile telephone.

Computer-supported telecommunications applications (CSTA) is a third-party call control protocol. It provides an abstraction layer for telecommunications applications, independent of underlying signaling protocols and devices. CSTA supplies applications services that allow a user agent to observe and control media calls (voice, IM, email, etc.). Microsoft implements SIP-based CSTA in its OCS application.

CAP is a proprietary call control interface used by Broadsoft in their SIP Application Servers to control BroadWorks calls remotely. It is an HTTPS-based protocol. When CSTA mode is set to OCI, the ME acts as a translator, allowing an OCS to view the Broadsoft BroadWorks PBX server as CSTA user agent. The LCS can then use ”first-party” call control from MS Office Communicator to SIP phones in the enterprise. Communicator can originate, answer, and transfer calls (as well as execute other features) to the Broadsoft servers with the ME in between providing the conversion.

The ME supports several 3PCC server/PBX options. These include the BroadWorks, Cisco, and Avaya IP telephony platforms. The ME supports configuration to communicate with the ITC TCS server. Using this server, users can take advantage of the voice drop capabilities available through desktop environment APIs and the call-control action. In addition, you can configure an internal 3PCC server. An internal 3PCC server configures the ME to act as the PBX, resulting in phones registering with the ME. This mode only works with phones registered directly to with the ME. Also, you can set up a loopback configuration for testing purposes. the ME tests connectivity between itself and the OCS server.

CLI Hierarchy Information

See the following chapters for other objects in the CLI hierarchy:

  • ConfiguringVirtual System Partition (VSP) Objects

  • Configuring Enterprise Objects

3pcc-servers

Opens the server configuration object to allow setting the parameters for communication between the ME and the third-party call control server. The ME ports the following 3PCC servers:

  • Internal CSTA server

  • Broadworks CSTA server, either OCI or OCS

  • Cisco Call Manager

  • Avaya Communications Manager

  • Loopback CSTA server for testing

  • IPC CTS server

    Note:

    While you can configure third-party call control servers at any time, you must enable the master-services jtapi object for the ME device to use the server. See Configuring Master Services Objects for more information.

Setting IPC Server Line IDs

When using the IPC CTS server with desktop APIs and the ME, you must configure a prefix and pool of available numbers used to create a unique line ID for each call. The numbers you set within this object should also be configured on the IPC server and used by it for outgoing calls to the ME. The configuration through this object allows the ME to recognize certain numbers as belonging to the IPC PBX, and can then do the appropriate mapping.

To configure the number set, first set the number-prefix property. Enter a string to identify the prefix, for example: 1-978-555 or tel:+555. Next you define the pool of numbers available by setting the range-min-number and range-max-number. From this pool, the IPC server will assign an extension to the prefix that is valid for the duration of the call. When the call terminates, that number is once again available. The pool can be any range or length, as long as it is configured similarly for both ends.

Syntax

config vsp enterprise 3pcc-servers internal-csta-server string
config vsp enterprise 3pcc-servers broadworks-csta-server string
config vsp enterprise 3pcc-servers cisco-call-manager string
config vsp enterprise 3pcc-servers avaya-communications-manager string
config vsp enterprise 3pcc-servers loopback-csta-server string
config vsp enterprise 3pcc-servers ipc-server string

Properties

description: Associates a text string with a server configuration. The string displays in some event logs and status providers to help identify the target.

Default: There is no default setting

Example: set description CallMgrServer

admin: Specifies whether the system uses this server in the current session. If enabled, the system uses this server. If disabled, the system does not use this server.

Default: disabled
Values: enabled | disabled

Example: set admin enabled

inbound-uri-normalization: This property is only applicable to Cisco and Avaya call managers. Translates received Cisco or Avaya 3PCC server phone numbers into a OCS/MOC-acceptable form. The ME normalizes requests from the 3PCC server that are destined for a Microsoft OCS server using the ME. When the ME communicates with OCS/MOC, the numbers must be in an OCS-acceptable form (e.g., tel:+12126474840). Because the 3PCC server responds with and understands numbers in a different form (e.g., 6474840), the ME must perform a translation (prepending ”tel:+1212”) before forwarding the request.

For more information regarding configuring regular expressions and replacement strings, see Using Regular Expressions.

Default: There is no default setting

Example: set inbound-uri-normalization ^([0-9]{7})$ tel:+1978\1

outbound-uri-normalization: This property is only applicable to Cisco, BroadWorks, and Avaya call managers. Translates phone numbers received from the Microsoft OCS server into an acceptable form for the Cisco, BroadWorks, or Avaya 3PCC server. The ME normalizes requests from the OCS server that are destined for a 3PCC server via the ME. When the ME communicates with OCS/MOC, the numbers must be in an OCS-acceptable form (e.g., tel:+12126474840). Because the 3PCC server responds with and understands numbers in a different form (e.g., 6474840), the ME must perform a translation (stripping ”tel:+1212”) before forwarding the request.

For more information regarding configuring regular expressions and replacement strings, see Using Regular Expressions.

Default: There is no default setting

Example: set outbound-uri-normalization ^([0-9]{7})$ tel:+1978\1

server-uri-normalization: This property is only applicable to Cisco and Avaya call managers. Translates phone numbers coming into the ME from a 3PCC server. This normalization is used when the call manager changes a number before responding to the ME. The ME does a ”first-pass” normalization of the number before applying the inbound-uri-normalization replacement and sending the call to OCS/MOC. For example, the ME may send 915085551212 when placing a call, to which the call manager may respond with 15085551212. This normalization would replace the ”9” before forwarding the call.

For more information regarding configuring regular expressions and replacement strings, see Using Regular Expressions.

Default: There is no default setting

Example: set server-uri-normalization ^9([0-9]){11}$ \1

moc-keepalive-timeout: Specifies the number of minutes the system waits for a keepalive message from a MOC client. The client can be set to send a keepalive at a configured interval (configured at the client side). This value must be set to a value higher than the client setting. If the system does not receive a keepalive from the client within the time set with this property, it sends a message to the event log indicating a keepalive timeout. A setting of 0 (the default) disables this feature.

Default: 0
Values: Min: 0 / Max: 60

Example: set moc-keepalive-timeout 10

server(broadworks-csta-server only): Specifies the BroadWorks application server to which the ME connects in order to provide 3PCC services. Enter a hostname or IP address to identify the server (PBX).

Default: There is no default setting

Example: set server 172.16.20.231

type(broadwords-csta-server only): Specifies the type of BroadWorks PBX being used to connect calls. Also, set the port number over which the BroadWorks server is listening (the port to which the ME connects).

Default: oci 2206
  • Values: oci<type>: The system acts as a translation device, converting CSTA traffic to a format the OCI server (e.g., BroadWorks PBX) can recognize. The ME sends BroadWorks CAP authentication messages to the Broadworks OCI server. The BroadWorks PBX connects the calls.

  • ocs<type>: The system acts as a translation device, converting CSTA traffic to a format the OCS server (e.g., BroadWorks PBX) can recognize. The ME sends BroadWorks OCI and CAP authentication messages to the Broadworks OCS server. The BroadWorks PBX connects the calls.

Example: set type oci 2207

oci-user <regEx><replacement>(broadwords-csta-server only): Specifies the name that will be used to log in to the BroadWorks server. This property creates the conversion strategy to map a domain name into a BroadWorks-acceptable format.

  • regEx: Enter a regular expression identifying the portion of the attribute to match. For example, the following expression identifies a subexpression (between the parenthesis) that matches all names:

    (.*)

  • replacement: Enter a string that defines how to recompose the resulting regEx string. In the following example, the first component from the regular expression is substituted in place of the ”1” and appended to ”@company.com.”

    \1@company.com

For more information regarding configuring regular expressions and replacement strings, see Using Regular Expressions.

Example: set oci-user (.*)@company.com(.*) ”\1@test.com\2”

version (cisco-call-manager only): Specifies the version of the Cisco Call Manager that is running on the server to which the ME is connecting.

Default: cisco4.0
Values: cisco4.0 | cisco5.0 | cisco5.0

Example: set version cisco5.0

check-jtapi-connection (cisco-call-manager and avaya-communications-manager only): Specifies whether to verify the JTAPI connection. If set to true, when the system receives a MOC keepalive from the client, it verifies that the connection to the JTAPI server is still available. If the connection is not up, the system logs an event message.

Default: false
Values: true | false

Example: set check-jtapi-connection true

jtapi-debug (avaya-communications-manager only): Controls debug logging for the JTAPI library. When set to true, the JTAPI library creates a log file on the system and writes log messages to that file.

Default: false
Values: true | false

Example: set jtapi-debug true

jtapi-debug-level (avaya-communications-manager only): Specifies the message level to write to the JTAPI library log on the ME. This property is only applicable if the jtapi-debug property is set to true. Set a level, as defined below, and the system writes statements of that level to /cxc/avayaJtapiLog.OUT.

Default: 3
  • Values: 0: NONE: No debug statements

  • 1: SPY: CstaSpy-like statements

  • 2: OBJECT: SPY + create/delete/move TS objects

  • 3: HANDLER: OBJECT + csta event handler info

  • 4: EVENT: HANDLER + jtapi event info

  • 5: EXCEPTION: EVENT + exception info

  • 6: INFO: EXCEPTION + other interesting info

  • 7: ALL: INFO + audit dump

Example: set jtapi-debug-level 7

host (ipc-cts-server): Specifies the ITC application server to which the ME connects in order to provide 3PCC services. Enter a hostname or IP address to identify the server (PBX).

Default: There is no default setting

Example: set host 196.34.0.100

port (ipc-cts-server): Specifies the port on IPC server to which the ME connects.

Default: 5712

Example: set port 5700

number-prefix (ipc-cts-server): Specifies the prefix that identifies calls to be terminated at the system. The prefix is completed using the number-postfix-min and number-postfix-max properties, which with the prefix, define the entire range of numbers that can be used. The prefix can take whatever form is required for the desktop application. The ME matches on the string to determine that the call is intended to be terminated.

Default: There is no default setting

Example: set number-prefix 1-978-555

number-postfix-min (ipc-cts-server): Specifies the starting range for numbers appended to the prefix. See Setting IPC Server Line IDs for more information.

Default: There is no default setting

Example: set number-postfix-min 1

number-postfix-max (ipc-cts-server): Specifies the end range for numbers appended to the prefix. See Setting IPC Server Line IDs for more information.

Default: There is no default setting

Example: set number-postfix-max 9999

call-delay (loopback-csta-server): Specifies the number of seconds to wait, in the event of a non-response from the call manager being loopback tested, between the origination and termination of a call.

Default: 10

Example: set call-delay 15

cisco-call-manager-server

Configures the JTAPI login parameters between the ME and the Cisco Call Manager server. These authentication and configuration parameters set access and connection information between the ME and the switch hosting the Cisco Call Manager. This object is only applicable to Cisco Call Manager.

Syntax

config vsp enterprise 3pcc-servers cisco-call-manager name cisco-call-manager-server host

Properties

login: Specifies the login name that the Cisco Call manager server is configured to accept.

Default: There is no default setting

Example: set login admin

password: Specifies the password that the Cisco Call manager server is configured to accept.

Example: set password admin

connection: Specifies the number of sockets left open between the ME and the Cisco Call Manager server.

Default: 1
Values: Min: 1 / Max: 16

Example: set connection 4

provider-timeout: Specifies the number of minutes to wait before the system determines that the server is down or otherwise unavailable. If there is no connection or the connection fails, the system waits the amount of time specified in the recovery-wait-time property before testing the connection again.

Default: 1
Values: Min: 1 / Max: 60

Example: set provider-timeout 2

address-timeout: Specifies the number of seconds the system allows the PBX to return a verification of the address that logged in. This is the time to wait during a MOC login for the phone assigned to this user to come into service.

Default: 4
Values: Min: 1 / Max: 60

Example: set address-timeout 10

recovery-wait-time: Specifies the number of minutes between retries of the server connection. The system will continue retrying the connection until it is re-established or the time set with the recovery-time-total expires. The system begins retrying the server connection after the time set with the provider-timeout property has expired.

Default: 4
Values: Min: 1 / Max: 60

Example: set recovery-wait-time 5

recovery-time-total: Specifies the total number of minutes that the system will spend retrying the connection to the server. The system waits the number of minutes specified in recovery-wait-time between retries. For example, if the wait time is 5 minutes, and you want the system to retry 5 times, set this property to 25.

Default: 60
Values: Min: 5 / Max: 1440

Example: set recovery-time-total 120

forwarding-url: Secondary property. This property is a customer-specific application fix for a Cisco issue.

forwarding-cluster: Secondary property. This property is a customer-specific application fix for a Cisco issue.

forwarding-login: Secondary property. This property is a customer-specific application fix for a Cisco issue.

forwarding-password: Secondary property. This property is a customer-specific application fix for a Cisco issue.

aes

Configures the JTAPI login parameters between the ME and the Avaya Application Enablement Services (AES) server. These authentication and configuration parameters set access and connection information between the ME and the switch hosting the Avaya Call Manager. The Avaya implementation requires a properties file that lists addresses of the AES servers. the ME creates and maintains this file. The JTAPI implementation requires a server name to use when contacting an Avaya AES. The properties of this object configure both. This object is only applicable to Avaya Communications Manager.

Syntax

config vsp enterprise 3pcc-servers avaya-communications-manager name aes host

Properties

login: Specifies the login name that the AES server is configured to accept.

Default: There is no default setting

Example: set login admin

password: Specifies the password that the AES server is configured to accept.

Default: There is no default setting

Example: set password admin

connection: Specifies the number of sockets left open between the ME and the AES server.

Default: 1
Values: Min: 1 / Max: 16

Example: set connection 4

provider-timeout: Specifies the number of minutes to wait before the system determines that the server is down or otherwise unavailable. If there is no connection or the connection fails, the system waits the amount of time specified in the recovery-wait-time property before testing the connection again.

Default: 1
Values: Min: 1 / Max: 60

Example: set provider-timeout

address-timeout: Specifies the number of seconds the system allows the PBX to return a verification of the address that logged in. This is the time to wait during a MOC login for the phone assigned to this user to come into service.

Default: 4
Values: Min: 1 / Max: 60

Example: set address-timeout 10

recovery-wait-time: Specifies the number of minutes between retries of the server connection. The system will continue retrying the connection until it is re-established or the time set with the recovery-time-total expires. The system begins retrying the server connection after the time set with the provider-timeout property has expired.

Default: 4
Values: Min: 1 / Max: 60

Example: set recovery-wait-time 2

recovery-time-total: Specifies the total number of minutes that the system will spend retrying the connection to the server. The system waits the number of minutes specified in recovery-wait-time between retries. For example, if the wait time is 5 minutes, and you want the system to retry 5 times, set this property to 25.

Default: 60
Values: Min: 5 / Max: 1440

Example: set recovery-time-total 120

name: Specifies the host name of the Avaya AES server. JTAPI requires this name when responding to CSTA requests.

Default: There is no default setting

Example: set name AV4

backup-host-name

Configures a backup call manager for either the Cisco or Avaya platform. When the ME initiates contact, it indicates the primary PBX and if this is configured, a secondary PBX. The host names supplied here (and for the primary) must match those configured on the Cisco or Avaya device. The settings that are configured for the primary using the cisco-call-manager-server or aes objects are then applied to the backup PBX configured here.

Syntax

config vsp enterprise 3pcc-servers avaya-communications-manager name aes host backup-host-name host
config vsp enterprise 3pcc-servers cisco-call-manager name cisco-call-manager-server host backup-host-name host

Properties

None