Friday, 3 April 2015

Multicast MoH to PSTN combined with ASA , IGMP Snooping, VRFs

Configuring MMoH for PSTN in L3 networks require some work to be done at network level as well as IPT level.


  • CUCM Configuration

  1. Enable IP Voice Media Streaming (IPVMS) service
  2. Configure Location, DP, Region to be used by MoH servers. Note: MMoH isn't deducted from locations BW.
  3. By default, G711ulaw is the only supported codec by MoH servers. Navigate to System > Service Parameters > #Server# > IPVMS and enable other codecs based on your regions configuration.
  4. By default MMoH DSCP is EF, you can change this value based on your network QoS (e,g, CS3)
  5. Navigate to Media Resource > Music On Hold Source > #File# and make sure to enable Allow Multicasting checkbox.
  6. Navigate to Media Resource > Music On Hold (MoH) Server and configure the following:
    1. Max Hops for each Source File (you need to make sure that this value is enough for the MMoH stream to reach PSTN. For above diagram should be mini 3)
    2. Max multicast connections
    3. Assign DP, Location, and enable Run Flag
    4. Enable Multi-cast Audio Sources on this MOH Server
    5. Configure Base multicast IP and Port
    6. Make sure to configure Increment Multicast on IP Address. This is used when multiple codecs are enabled for MoH server. Each codec will use a unique multicast IP as below



Inc. Multicast on IP Address

Audio Stream
Codec
Dst. IP Address
Dst. Port
1
G.711 ulaw
239.1.1.10
16384
1
G.711 Alaw
239.1.1.11
16384
1
G.729
239.1.1.12
16384
1
Wideband
239.1.1.13
16384

Increment on Port will cause the CUCM to use same IP for all codecs with different ports for each. Since multicast routing on the network level is based on IP and not ports, all the endpoints on hold or PSTN will receive all mulitcast streams sharing the same IP which will cause multicast flooding in the network (especially when multiple endpoints are on hold at same time) .
  1. Create Media Resource Group (MRG) and enable Use Multi-cast for MOH Audio (If at least one multi-cast MOH resource is available)
  2. Create MRGL, add the MRG, and assign the MRGL to device pool, endpoint, or common device configuration.
  • Voice Gateway Configuration
On the voice gateway it is very important to enable the command ccm-manager music-on-hold. Without this command, the voice gateway will connect to the MoH server using call forwarding message but won't send IGMP message to join the multicast group for MMoH.
  • Multicasting Network Configuration
    • On the voice gateway the following configuration will be applied:
ip multicast-routing vrf DMVPN
!
interface Loopback170
 ip vrf forwarding DMVPN
 ip address 10.170.170.2 255.255.255.255
 ip pim sparse-mode
!
interface GigabitEthernet0/1.111
 encapsulation dot1Q 111
 ip vrf forwarding DMVPN
 ip address 10.170.200.84 255.255.255.240
 ip pim sparse-mode
!
ip pim vrf DMVPN send-rp-announce Loopback170 scope 100
ip pim vrf DMVPN send-rp-discovery scope 100

  • On ASA the following configuration will be applied
object-group network CUCM-SERVERS
 network-object host 10.170.4.10
 network-object host 10.170.4.11
 network-object host 10.170.4.12
!
object-group network MMoH-SERVERS
 network-object 239.1.1.10 255.255.255.255
 network-object 239.1.1.11 255.255.255.255
 network-object 239.1.1.12 255.255.255.255
 network-object 239.1.1.22 255.255.255.255
 network-object 239.1.1.21 255.255.255.255
 network-object 239.1.1.20 255.255.255.255
!
access-list ACL-VOICE-VIDEO extended permit ip object-group CUCM-SERVERS object-group MMoH-SERVERS

  • On 4500 the following configuration will be applied
ip multicast-routing vrf VOICE/VIDEO
!
ip igmp snooping querier
!
interface Vlan51
 ip vrf forwarding VOICE/VIDEO
 ip address 10.170.200.20 255.255.255.240
 ip pim sparse-mode
!
interface Vlan104
 description VoIP Subnet
 ip vrf forwarding VOICE/VIDEO
 ip address 10.170.4.2 255.255.254.0
 ip pim sparse-mode

Note: ASA supports sparse-mode only. Therefore, sparse-mode is used across the network.

During MoH condition, here are some outputs from different devices:

On Voice Gateway

C2951-router-02#sh voip rtp connections
VoIP RTP Port Usage Information:
Max Ports Available: 8091, Ports Reserved: 101, Ports in Use: 1
Port range not configured, Min: 16384, Max: 32767

                                                Ports       Ports       Ports    
Media-Address Range                             Available   Reserved    In-use   

Default Address-Range                           8091        101         1        

VoIP RTP active connections :
No. CallId     dstCallId  LocalRTP RmtRTP LocalIP                                       RemoteIP                              
1     21751      21752      21540    16384  10.170.170.2                                239.1.1.12                            
Found 1 active RTP connections

C2951-router-02#show ip mroute vrf DMVPN 239.1.1.12
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
       L - Local, P - Pruned, R - RP-bit set, F - Register flag,
       T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
       X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
       U - URD, I - Received Source Specific Host Report,
       Z - Multicast Tunnel, z - MDT-data group sender,
       Y - Joined MDT-data group, y - Sending to MDT-data group,
       G - Received BGP C-Mroute, g - Sent BGP C-Mroute,
       N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed,
       Q - Received BGP S-A Route, q - Sent BGP S-A Route,
       V - RD & Vector, v - Vector, p - PIM Joins on route,
       x - VxLAN group
Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join
 Timers: Uptime/Expires
 Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 239.1.1.12), 08:09:57/stopped, RP 10.170.170.2, flags: SJCL
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    GigabitEthernet0/1.111, Forward/Sparse, 00:02:00/00:02:18

(10.170.4.10, 239.1.1.12), 08:09:57/00:02:48, flags: PLTX
  Incoming interface: GigabitEthernet0/1.111, RPF nbr 10.170.200.81
  Outgoing interface list: Null

C2951-router-02#show ccm-manager music-on-hold
Current active multicast sessions : 1
 Multicast       RTP port   Packets       Call   Codec    Incoming
 Address         number     in/out        id              Interface
===================================================================
239.1.1.12        16384   9305/9305        21752   g729r8  Gi0/1.111

On ASA Firewall

ASA5545X# show conn address 239.1.1.12
6952 in use, 14310 most used

UDP DMVPN  239.1.1.12:16384 VOICE-VIDEO  10.170.4.10:16384, idle 0:00:00, bytes 390880, flags -

ASA5545X# show mroute 239.1.1.12

Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group,
       C - Connected, L - Local, I - Received Source Specific Host Report,
       P - Pruned, R - RP-bit set, F - Register flag, T - SPT-bit set,
       J - Join SPT
Timers: Uptime/Expires
Interface state: Interface, State

(*, 239.1.1.12), 00:05:21/never, RP 0.0.0.0, flags: SCJ
  Incoming interface: Null
  RPF nbr: 0.0.0.0
  Immediate Outgoing interface list:
    DMVPN, Null, 00:05:21/never
    OUTSIDE, Forward, 00:05:21/never
    MPLS, Forward, 00:05:21/never
             
(10.170.4.10, 239.1.1.12), 00:05:21/00:03:30, flags: SJT
  Incoming interface: VOICE-VIDEO
  RPF nbr: 10.170.200.21
  Immediate Outgoing interface list:
    DMVPN, Forward, 00:05:21/00:03:25
  Inherited Outgoing interface list:
    OUTSIDE, Forward, 00:05:21/never
    MPLS, Forward, 00:05:21/never

On 4500

C4507-switch#show ip mroute vrf VOICE/VIDEO 239.1.1.12
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
       L - Local, P - Pruned, R - RP-bit set, F - Register flag,
       T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
       X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
       U - URD, I - Received Source Specific Host Report,
       Z - Multicast Tunnel, z - MDT-data group sender,
       Y - Joined MDT-data group, y - Sending to MDT-data group,
       G - Received BGP C-Mroute, g - Sent BGP C-Mroute,
       N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed,
       Q - Received BGP S-A Route, q - Sent BGP S-A Route,
       V - RD & Vector, v - Vector, p - PIM Joins on route,
       x - VxLAN group
Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join
 Timers: Uptime/Expires
 Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 239.1.1.12), 08:18:47/stopped, RP 10.170.170.2, flags: SP
  Incoming interface: Vlan51, RPF nbr 10.170.200.18
  Outgoing interface list: Null

(10.170.4.10, 239.1.1.12), 08:18:47/00:02:04, flags: PT
  Incoming interface: Vlan104, RPF nbr 0.0.0.0
  Outgoing interface list: Null

C4507-switch#sh ip igmp snooping groups vlan 111
Vlan      Group                    Version     Port List
---------------------------------------------------------
111       224.0.1.39               v2          Te3/1
111       239.1.1.12               v2          Te3/1

No comments:

Post a Comment