Saturday, January 30, 2010

Call-manager-fallback config for SRST and non-SRST modes

For H323 GW interworking with CUCM cluster, User needs to config dial-peers in order to handle in/out calls from PSTN. For ex:

dial-pee voice 1 pots    ==== to handle incoming calls from PSTN
    incoming called .
    direct-inward
    port 1/0:23
dial-p voice 3120 voip    ==== to forward calls to CUCM
    destination-pat 1312301....$
    session target ipv4:10.1.200.21
    pref 1
dial-p v 900 pots
    desc ==== local  ====    note that this dial-peer does NOT have prefix 9 because CM strips digit 9
    destination-pat [2-9]......$
    port 1/0:23

In SRST mode, any local call with 7 digit would fail if call-manager-fallback is configured with secondary-dialtone 9

To get around this issue configure voice translation-rule to strip out digit 9 when dial-out of PSTN

voice translation-rule 100
        rule 1 /^9\(.*\)$/    /\1/        <<<  strip any string of digit beginning with 9
    voice translation-profile SRST-LOCAL
        translate called 100
call-manager-fallback
    translation-profile incoming SRST-LOCAL

Also, add translation-rule to trim incoming 10 digits to 4 digit
voice translation-rule 1
   rule 1 /^312301\(....\)$/   /\1/   ==== strip out all digits except last 4
voice translation-profile DID
   translate called 1
dial-peer voice 1 pots
   translation-profile incoming DID
   incoming called-number .
   direct-inward-dial
    port 1/0:23

In case SRST still did not work without adding digit 9 in the POTS dial-peer, add CLI  "access-code pri 9 direct-inward-dial" into call-manager-fallback config. Below is full config for call-manager-fallback:

voice translation-rule 1
 rule 1 /^1312301\(....\)/ /\1/
 rule 2 /^312301\(....\)/ /\1/
!
voice translation-profile DID
 translate called 1
!
application
 service alternate default
 !
 global
  service alternate default
 !
dial-peer voice 1 pots
 translation-profile incoming DID
 incoming called-number .
 direct-inward-dial
 port 1/0:23
!
dial-peer voice 911 pots
 description ==== 911
 destination-pattern 911
 port 1/0:23
 forward-digits 3
!
dial-peer voice 1000 pots
 description ==== local
 destination-pattern [2-9]......$
 port 1/0:23
!
dial-peer voice 1001 pots
 description ==== LD
 destination-pattern 1[2-9]..[2-9]......$
 port 1/0:23
 prefix 1
!
dial-peer voice 1002 pots
 description ==== INTL
 destination-pattern 011.T
 port 1/0:23
 prefix 011
!
dial-peer voice 2 voip
 description ==== to CUCM pub
 preference 1
 destination-pattern 312301....$
 session target ipv4:10.1.200.21
!
dial-peer voice 3 voip
 description ==== to CUCM sub
 preference 2
 destination-pattern 312301....$
 session target ipv4:10.1.200.20
!        
!
gateway
 timer receive-rtp 1200
!
!
call-manager-fallback
 secondary-dialtone 9
 max-conferences 12 gain -6
 transfer-system full-consult
 ip source-address 10.10.32.2 port 2000
 max-ephones 2
 max-dn 4
 system message primary SRST@BR1
 dialplan-pattern 1 3123012... extension-length 4
 transfer-pattern .T
 access-code pri 9 direct-inward-dial
 voicemail 917752011500
 call-forward pattern .T
 call-forward busy 917752011500
 call-forward noan 917752011500 timeout 10
!

2 comments:

  1. We cannot receive any incoming calls: see below configuration.
    dial-peer voice 100 voip
    translation-profile incoming Incoming_Translation
    incoming called-number .T

    voice translation-profile Incoming_Translation
    translate called 2

    translation-rule 2
    Rule 1 /^6313/ /3/

    call-manager-fallback
    secondary-dialtone 2
    max-conferences 8 gain -6
    transfer-system full-consult
    ip source-address 172.16.108.254 port 2000
    max-ephones 101
    max-dn 101
    system message primary SRST Mode is used now
    system message secondary SRST Mode
    access-code fxo 0
    translate calling 2
    translate called 10

    ReplyDelete
    Replies
    1. just to correct the typo error:

      voice translation-rule 2
      rule 1 /^63131/ /3/

      Delete