Introduction
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.
Prerequisites
Requirements
Cisco recommends that you have knowledge of these topics:
- Cisco IOS®
- Cisco Unified CME
Components Used
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.
Background Information
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.
Configure
Network Diagram
Note: Use the Command Lookup Tool (registered customers only) in order to obtain more information on the commands used in this section.
Consider this example with two requirements:
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.
application
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.
gw-accounting aaa
aaa new-model
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
service fac
voice lpcor policy anlphones
service fac>
- 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.
voice-port 0/0/0:23
trunk-group Trunk-LPCOR
- Give the trunkgroup to the outbound dial-peer used for international dialing.
dial-peer voice 1 pots
description **Dial-peer for outbound international dialing**
destination-pattern 9011T
trunkgroup Trunk-LPCOR
forward-digits all
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.
voice-port 1/0/0
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
(or)
ephone 1 // FXS phone
controlled by SCCP
type anl
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.
Verify
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 policy 1
voice lpcor policy international_out(group 2):
service fac is enabled
( accept fac) ipphone (group 1)
( accept ) international_out (group 2)
( reject ) anlphones (group 3)
( reject ) international_in (group 4)
Router#show voice lpcor ip-phone dn
ephone-dn 1 number 2001:
ephone 1:
Lpcor Type: remote
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
Troubleshoot
There is currently no specific troubleshooting information available for this configuration.