This document describes the use of logical partition class of restriction (LPCOR) with Cisco Unified Communications Manager Express (CME). The most common reason for the use of LPCOR is the prevention of on-net calls from transfer or conference with a public switch telephone network (PSTN) call and vice versa.
The Telecom Regulatory Authority of India (TRAI) regulates the restriction of mixing voice traffic between the PSTN and VoIP networks. The latest regulations allow for a single network infrastructure and single Electronic Private Automatic Branch Exchange (EPABX) to connect to both the PSTN and VoIP networks. The EPABX connects to both the PSTN and VoIP networks and uses a logical partition between the PSTN and IP leased lines.
Cisco recommends that you have knowledge of these topics:
Cisco Unified CME
The information in this document is based on these software and hardware versions:
Cisco IOS Release 15.0(1)XA or later
Cisco Unified CME Release 8.0 or later
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Cisco Unified CME supports a high-level class of restriction and allows you to logically partition its resources such as PSTN trunks, IP trunks, IP phones, and analog phones, into different groups.
You create an LPCOR policy matrix for individual resource groups and define its LPCOR policy to either accept or reject calls that originate from any of the other resource groups. You can define one LPCOR policy for each resource group. The default LPCOR policy means that there are no restrictions between the call source and its target destination.
You create LPCOR policies that define the call restrictions to apply to calls that originate or terminate at these types of resources:
Analog Phones - TRAI regulations allow an analog Foreign Exchange Station (FXS) phone to accept both PSTN and VoIP calls if the phone is locally registered to Cisco Unified CME. Locally connected phones do not have to be associated with any resource group; the default LPCOR policy is applied to this phone type.
IP Phones - LPCOR supports both Skinny Call Control Protocol (SCCP) and Session Initiation Protocol (SIP) IP phones. TRAI regulations allow an IP phone to accept both PSTN and VoIP calls if the IP phone is registered locally to Cisco Unified CME through the LAN. If the IP phone is registered to Cisco Unified CME through the WAN, PSTN calls must be blocked from the remote IP phones.
If an IP phone always registers to Cisco Unified CME from the same local or remote region, the phone is provisioned with a static LPCOR policy. If the phone is a mobile-type IP phone and moves between the local and remote regions, such as an Extension Mobility phone or softphone (CIPC), the LPCOR policy is provisioned dynamically based on the IP phone's currently registered IP address.
PSTN Trunks - An incoming LPCOR resource group is associated with a PSTN trunk through the voice port or trunk group. An outgoing LPCOR resource group is applied on the outbound POTS dial-peer, and this also can be based on either voice port or trunk group.
VoIP Trunks - An incoming VoIP trunk call (H.323 or SIP) is associated with an LPCOR policy based on the remote IP address as follows:
Incoming H.323 trunk call - IP address of the previous hub or originating gateway
Incoming SIP trunk call - (a) IP address of the originating gateway, (b) hostname from the earliest via header of an incoming INVITE message
If the hostname is in the domain name format, a DNS query is performed in order to resolve the name into an IP address. The LPCOR policy of the VoIP target is determined through the configuration of the outbound VoIP dial-peer.
You should to allow one IP phone (remote to a CME) to make international calls out to PSTN. You also want to allow only one analog phone (connected via FXS and local to a CME) to accept incoming calls from PSTN.
IP phone ----- CME ----- PRI ----- PSTN
Analog phone ----- FXS ----- CME ----- FXO ----- PSTN
Define parameters for the authorization package.
package auth // Enters package authorization configuration mode param passwd-prompt flash:enter_pin.au // Plays an audio prompt requesting the caller to enter a valid password
param max-retries 0 // Specifies number of attempts to re-enter an account or a password
param user-prompt flash:enter_account.au // Plays an audio prompt requesting the caller to enter a valid username
param term-digit # // Specifies digit for terminating an username or password digit collection
param passwd 12345 // Character string that defines a predefined password for authorization. Password digits collection is optional if password digits are predefined here
param abort-digit * // Specifies the digit for aborting username or password digit input
param max-digits 32. // Maximum number of digits in a username or password. Range:1 - 32
Configure the AAA to force FAC for code and PIN.
aaa authentication login h323 local aaa authorization exec h323 local aaa authorization network h323 local
aaa session-id common
Define the username and password.
username 1111 password 1111 // for authenticating the username and password. These will be taken as the FAC.
username 2222 password 2222
Define an LPCOR policy.
voice lpcor enable: enables LPCOR on CME
voice lpcor call-block cause <1-180>: (optional) defines the cause code to use when a call is blocked due to LPCOR validation failure
voice lpcor custom: defines LPCOR resource groups in a resource list (just like with COR) group 1 ipphone
group 2 international_out
group 3 anlphones
group 4 international_in
voice lpcor policy international_out: create a policy which accepts only calls from/to resource groups in it
accept ipphone fac
voice lpcor policy anlphones
Associate an LPCOR policy with a device/resource.
Consider the requirement of having only one IP phone make international calls out to PSTN:
Apply the incoming LPCOR to the IP phone.
voice register pool 1 (or ephone 1)
lpcor type remote // IP phone registers to CME over WAN
lpcor incoming ipphone
Apply the outgoing LPCOR to a trunk-group (or voice-port directly).
trunk group Trunk-LPCOR
lpcor outgoing international_out
Apply the trunk-group to the voice-port.
Give the trunkgroup to the outbound dial-peer used for international dialing.
dial-peer voice 1 pots
description **Dial-peer for outbound international dialing**
When the IP phone attempts to make an international call, CME checks whether the phone's incoming LPCOR (IP phone) is in the Accepted list of the outgoing LPCOR policy assigned to the outbound dial-peer (international_out).
Consider the requirement of the use of only one analog phone that receives incoming calls from PSTN.
Apply the incoming LPCOR to the inbound FXO port.
lpcor incoming international_in
Apply the outgoing LPCOR policy to the analog phone.
voice-port 0/1/0 // regular FXS port connected to CME
lpcor outgoing anlphones
ephone 1 // FXS phone controlled by SCCP
lpcor type local // Analog phone registers to CME locally
lpcor outgoing anlphones
When a call comes in via Foreign Exchange Office (FXO) port 1/0/0, CME checks whether the FXO port's incoming LPCOR (international_in) is in the "accept" list of the outgoing LPCOR policy assigned to any of the phones.
Use this section to confirm that your configuration works properly.
The Output Interpreter Tool (registered customers only) supports certain show commands. Use the Output Interpreter Tool in order to view an analysis of show command output.
The show voice lpcor command displays information about LPCOR calls including the LPCOR policy associated with each resource group and directory number, and statistics for failed calls.
Router#show voice lpcor statistics Voice LPCOR statistics for failure calls: Total basic calls: 5 Total forward calls: 2 Total transfer calls: 0 Total conference calls: 0 Total park retrieval calls: 0 Total pick up calls: 0
There is currently no specific troubleshooting information available for this configuration.