ANALOG, ISDN AND DOV DIAL-IN ON A SINGLE CISCO PRI


Cisco took this doc and put it online http://www.cisco.com/en/US/tech/tk801/tk379/technologies_configuration_example09186a0080094316.shtml

Originally it had a credit of my name on the doc, but later they removed it :-(


(May2001)

A DESCRIPTION OF THE PROBLEM

We recently purchased a Cisco AS5350 modem server for use in our ISP business. In the past we had been using Lucent Portmaster 3's, but had decided to change to Cisco after Lucent discontinued the Portmaster range.

On the Portmasters we are able to accept incoming analog, ISDN and Data-Over-Voice (DoV) calls on a single dial-up number without needing any special configuration. From what I have read, the Portmaster is about the only product available that can do this.

After reading the docs for the Cisco, we found that the Cisco servers can also accept all three of these call types, but it has the common limitation of not being able to handle the situation where you have both analog and DoV calls arriving on the same dialed phone number. The Cisco will successfully detect that both of these call types are "voice", but when you are configure the Cisco's PRI interface, you can only choose to send all voice calls to the modems (ie analog) or send all voice calls to the ISDN ports (ie DoV)

interface Serial3/0:15
  ! Send all voice calls through to the modems 
  ! This will allow analog calls to work, but will break DoV
  isdn incoming-voice modem
  !

or

interface Serial3/0:15
  ! Send all voice calls through to the ISDN ports
  ! This will allow DoV calls to work, but will break analog
  isdn incoming-voice data
  !

This is a problem if you have both analog and DoV calls are arriving on that PRI. By using the commands shown above,  you are going to end up sending some calls to the wrong place. If you send a DoV call to the modems, or an analog call to the ISDN ports, the call will not be successful due to the mismatch of technologies.

What is needed is a way to program the Cisco so that it can pick the difference between analog and DoV calls, and automatically route the calls to the correct resources.


HOW WE FIXED THE PROBLEM

Cisco have a page "BRI-to-PRI Connection Using Data Over Voice" which discusses the issues involved with DoV. They say on this page that if you want to be able to support both DoV and analog calls on the same PRI, you need to setup "resource pools". Resource pools are very powerful and allow you to define how to handle incoming calls based on various criteria such as username, dialed number (DNIS), caller-id etc.

After reading up a bit further on resource pools, it sounded like resource pools using DNIS lookups would allow us to get a working configuration.

Our Cisco currently has a 30 line PRI attached to it. This PRI has been configured by the telephone company to have a main number (52731600), as well as a "100 number indial range".  The 100 line indial range gives us the ability for this PRI to answer calls to any phone numbers in the range 52731600 through to 52731699.

Next we had a think about the best way to setup the server to make it as simple as possible for customers to get a working connection. The majority of our customers are using either analog or ISDN for dial-in, so we wanted the Cisco to be able to accept these these types of calls on our advertised main number (52731600). Then we decided we would make make another number available for people to call should they want to use DoV. In our case we decided to use the number 52731601. By configuring the server this way, we avoided the problem of having the two sorts of "voice" calls (analog and DoV) arriving on the same dialed number.

The Cisco then needed to be configured to use "resource pools" to route the incoming call through to the appropriate Cisco resource (analog calls should be routed to the modems, ISDN and DoV calls routed to the ISDN ports)


CONFIGURING RESOURCE POOLS

To get resource pools working on the Cisco, you have to configure three things :

The combination of DNIS groups and profiles give the Cisco all the info it needs to dynamically route any incoming call through to the correct resource.

Here are the actual Cisco commands that we used to achieve this :

Enable Cisco resource pooling :
=====================
  resource-pool enable

Setup the resources :
=====================

  resource-pool group resource RESOURCE-ISDNPORTS
    ! Allocate all the ISDN ports to this group
    ! (our cisco AS5350 has 2 * PRI's = 60 lines)
    range limit 60

  resource-pool group resource RESOURCE-SPEMODEMS
    ! allocate all the modem ports to this group
    ! (Our cisco AS5350 has a 60 port modem card installed in slot 1)
    range port 1/0 1/59

Setup the DNIS groups :
===================

  dialer dnis group DNIS-ALL-BUT-DOV
    ! listen for calls arriving on following number
    ! This is the number that we will be using for ISDN and Analog
    number 52731600

  dialer dnis group DNIS-DOV
    ! listen for calls arriving on the following number
    ! this is the number that we will be using for DoV
    number 52731601

Define the profiles :
==========================

  resource-pool profile customer CUSTOMER-ALL-BUT-DOV
    ! Accept calls made to the numbers defined in the following DNIS group
    ! ie 52731600
    dnis group DNIS-ALL-BUT-DOV
    ! send any voice calls to the modems
    resource RESOURCE-SPEMODEMS speech
    ! send any ISDN calls to the ISDN ports
    resource RESOURCE-ISDNPORTS digital

  resource-pool profile customer CUSTOMER-DOV
    ! Accept calls made to the numbers defined in the following DNIS group
    ! ie 52731601
    dnis group DNIS-DOV
    ! send any voice calls to the ISDN ports (DoV)
    resource RESOURCE-ISDNPORTS speech

  resource-pool profile customer CUSTOMER-DEFAULT
    ! Any calls that do not match the defined DNIS groups end up here
    ! ie 52731602 through to 52731699
    dnis group default

And the final thing you need to configure is to set your PRI for "isdn incoming-voice modem"

interface Serial3/0:15
  isdn incoming-voice modem
  !

Once we had all these settings in place, then everything worked as expected.

Analog and ISDN calls are successfully received on 52731600
DoV calls are successfully received on 52731601


There are 3 combinations possible for incoming calls in my example

Combination 1 : analog modem call to 52731600
    Call arrives at the server
    Resource pool looks up the DNIS and sees 52731600
    This phone number is mapped to the dnis group DNIS-ALL-BUT-DOV
    Resource pools this send the call through to the CUSTOMER-ALL-BUT-DOV profile
    The CUSTOMER-ALL-BUT-DOV profile checks the call type
    After seeing the call type is "speech", it directs the call through to the modems

Combination 2 : isdn call to 52731600
    Call arrives at the server
    Resource pool looks up the DNIS and sees 52731600
    This phone number is mapped to the dnis group DNIS-ALL-BUT-DOV
    Resource pools this send the call through to the CUSTOMER-ALL-BUT-DOV profile
    The CUSTOMER-ALL-BUT-DOV profile checks the call type
    After seeing the call type is "digital", it directs the call through to the isdn ports

Combination 3 : dov call to 52731601
    Call arrives at the server
    Resource pool looks up the DNIS and sees 52731601
    This phone number is mapped to the dnis group DNIS-DOV
    Resource pools this send the call through to the CUSTOMER-DOV profile
    The CUSTOMER-DOV profile checks the call type
    After seeing the call type is "speech", it directs the call through to the isdn ports

So, the final configuration of the AS5350 was :

!
! Last configuration change at 13:23:04 aes Fri Jun 22 2001
! NVRAM config last updated at 13:05:48 aes Fri Jun 22 2001 by XXX
!
version 12.1
no parser cache
no service single-slot-reload-enable
service timestamps debug uptime
service timestamps log uptime
service password-encryption
!
hostname as5350-1
!
boot system flash c5350-is-mz.121-5.XM3.bin
no boot startup-test
no logging buffered
logging rate-limit console 10 except errors
no logging console
aaa new-model
aaa authentication login STORE_LOCAL local
aaa authentication login RADIUS_USER group radius
aaa authentication login LINE_PASSWD line enable
aaa authentication login CONSOLE none
aaa authentication enable default enable
aaa authentication ppp default group radius
aaa authorization network default group radius
aaa accounting network default start-stop group radius
enable secret 5 XXXXXXXX
!
username XXXXXXXX password XXXXXXXX
!
resource-pool enable
!
resource-pool group resource RESOURCE-ISDNPORTS
  range limit 60
!
resource-pool group resource RESOURCE-SPEMODEMS
  range port 1/0 1/59
!
resource-pool profile customer CUSTOMER-ALL-BUT-DOV
  limit base-size all
  limit overflow-size 0
  resource RESOURCE-ISDNPORTS digital
  resource RESOURCE-SPEMODEMS speech
  dnis group DNIS-ALL-BUT-DOV
!
resource-pool profile customer CUSTOMER-DOV
  limit base-size all
  limit overflow-size 0
  resource RESOURCE-ISDNPORTS speech
  dnis group DNIS-DOV
!
clock timezone aes 10
calltracker enable
calltracker call-record verbose
facility-alarm detect controller E1 3/0
facility-alarm detect temperature
facility-alarm detect fan
facility-alarm detect modem-board 1
facility-alarm detect rps
!
spe country australia
!
spe log-size 30
!
spe call-record modem
!
!
!
!
!
voice-fastpath enable
ip subnet-zero
no ip source-route
no ip finger
ip domain-name XXXXXXXX
ip name-server XXX.XXX.XXX.2
ip name-server XXX.XXX.XXX.3
!
virtual-profile virtual-template 4
virtual-profile aaa
!
multilink virtual-template 4
multilink bundle-name both
async-bootp time-server XXX.XXX.XXX.XXX
async-bootp dns-server XXX.XXX.XXX.XXX XXX.XXX.XXX.XXX
isdn switch-type primary-net5
call rsvp-sync
!
!
!
!
!
fax interface-type modem
mta receive maximum-recipients 0
!
!
!
controller E1 3/0
  pri-group timeslots 1-31
  description ** Telstra OnRamp30 FNN A0352731600K1001
!
controller E1 3/1
  shutdown
  pri-group timeslots 1-31
!
!
interface Loopback0
  no ip address
!
interface Loopback1
  description ** Create a /26 network advertisement for the dialin pool
  ip address XXX.XXX.XXX.0 255.255.255.192
!
interface FastEthernet0/0
  description Pipeline Internet Geelong POP LAN
  ip address XXX.XXX.XXX.XXX 255.255.255.0
  no ip redirects
  ip ospf authentication-key XXXXXXXXXXX
  ip ospf priority 50
  duplex auto
  speed auto
!
interface FastEthernet0/1
  no ip address
  shutdown
  duplex auto
  speed auto
!
interface Serial0/0
  no ip address
  shutdown
  clockrate 2000000
!
interface Serial0/1
  no ip address
  shutdown
  clockrate 2000000
!
interface Serial3/0:15
  description ** Configuration settings for 1st PRI
  no ip address
  encapsulation ppp
  ip tcp header-compression passive
  ip mroute-cache
  dialer rotary-group 2
  dialer-group 1
  isdn switch-type primary-net5
  isdn incoming-voice modem
  no fair-queue
  no cdp enable
!
interface Serial3/1:15
  description ** Configuration settings for 2nd PRI
  no ip address
  encapsulation ppp
  ip tcp header-compression passive
  ip mroute-cache
  shutdown
  dialer rotary-group 2
  dialer-group 1
  isdn switch-type primary-net5
  isdn incoming-voice modem
  no fair-queue
  no cdp enable
!
interface Virtual-Template4
  description ** configuration cloned to all dialin users
  ip unnumbered Loopback1
  peer default ip address pool AS5350-1-POOL
  ppp max-bad-auth 3
  ppp authentication pap
  ppp ipcp dns XXX.XXX.XXX.XXX XXX.XXX.XXX.XXX
  ppp multilink
!
interface Group-Async0
  description ** Configuration cloned to all async lines
  ip unnumbered Loopback1
  ip tcp header-compression passive
  dialer in-band
  dialer rotary-group 2
  dialer-group 1
  async mode dedicated
  no fair-queue
  group-range 1/00 1/59
!
interface Dialer2
  description ** Configuration cloned to all dialin users
  ip unnumbered Loopback1
  encapsulation ppp
  ip tcp header-compression passive
  no keepalive
  dialer in-band
  dialer-group 1
  peer default ip address pool AS5350-1-POOL
  no fair-queue
  no cdp enable
  ppp max-bad-auth 3
  ppp authentication pap
  ppp ipcp dns XXX.XXX.XXX.XXX XXX.XXX.XXX.XXX
  ppp multilink
!
router ospf 7631
  router-id XXX.XXX.XXX.XXX
  log-adjacency-changes
  area 0 authentication
  redistribute connected subnets
  redistribute static subnets
  network XXX.XXX.XXX.XXX 0.0.0.255 area 0
!
ip local pool AS5350-1-POOL XXX.XXX.XXX.1 XXX.XXX.XXX.60
ip classless
ip route 0.0.0.0 0.0.0.0 XXX.XXX.XXX.XXX
no ip http server
ip ospf name-lookup
!
ip radius source-interface FastEthernet0/0
logging XXX.XXX.XXX.XXX
access-list 100 permit ip any any
!
dialer dnis group DNIS-ALL-BUT-DOV
  number 52731600
!
dialer dnis group DNIS-DOV
  number 52731601
dialer-list 1 protocol ip permit
!
radius-server host XXX.XXX.XXX.XXX auth-port 1645 acct-port 1646 non-standard
radius-server host XXX.XXX.XXX.XXX auth-port 1645 acct-port 1646 non-standard
radius-server retransmit 3
radius-server key XXXXXXXXXXXX
radius-server vsa send accounting
!
voice-port 3/0:D
!
voice-port 3/1:D
!
line con 0
  location ** CONSOLE CABLE
  exec-timeout 0 0
  password 7 XXXXXXXXXXXX
  logging synchronous
  login authentication LINE_PASSWD
  transport input none
line aux 0
  logging synchronous
line vty 0 4
  exec-timeout 180 0
  login authentication STORE_LOCAL
line 1/00 1/59
  no flush-at-activation
  autoselect ppp
  modem Dialin
  autocommand ppp
  transport input all
!
scheduler allocate 10000 400
ntp clock-period 17179821
ntp source FastEthernet0/0
ntp server XXX.XXX.XXX.XXX
end

This page discusses setting up this configuration on a 30 line PRI, but the same technique is also applicable on a 24 line T1

Cisco have published a doc based on the information I have presented here. You can find it at http://www.cisco.com/warp/public/471/dov-rpm.html

The above config is based on IOS 12.1. We later upgraded to IOS 12.2, and the updated configuration is available here

Please let me know if you found this page of use  :-)


Back to Michael's ISP Links page

Page last edited : 21-Nov-2007
Please send me your feedback!