+ Reply to Thread
Results 1 to 7 of 7
  1. Senior Member sacredboy's Avatar
    Join Date
    May 2012
    Location
    Australia
    Posts
    275
    #1

    Default Connecting CUCM to PSTN over E1 ISDN PRI

    Hi guys,I would highly appreciate if you could help me to understand the fundamentals of connecting CUCM to PSTN.

    I took my diagram as a basis of my question. So, there are three routers. The first one plays a role of PSTN, the second one is in office A where CUCM is deployed and the last one is in office B where CUCME is deployed. Both routers in offices A and B E1 ISDN PRI interfaces are configured.

    I just got two questions:
    1. PSTN is a landline that goes to the end user (home or organization) and connected to the end device by means of RJ11 interface. When it is connected to FXO port it makes sense and it is clear. But it is not clear for me how the line from the PSTN can be connected to VWIC2-T1/E1 interface.
    2. What are the steps for connecting CUCM to PSTN. For instance here https://supportforums.cisco.com/blog...-gateways-cucm the implementation of voice gateway in CUCM is described and the config below is clear. dial-peer voice 1 voipdestination-pattern 2...session protocol sipv2session target ipv4: 10.106.91.80codec g711ulawdtmf-relay rtp-nte sip-notifyCalls that come to the gateway from PSTN are forwarded to CUCM which IP address is 10.106.91.80. But how calls that come from CUCM are forwarded from the gateway to the PSTN?

    And finally, where the translation rule that translates 8437 9217 to 168XXX should be configured? Should it be configured on voice gateway or CUCM?

    Thank you.
    Attached Images Attached Images
    Last edited by sacredboy; 07-05-2016 at 02:07 AM.
    Best, sacredboy!
    Reply With Quote Quote  

  2. SS -->
  3. Senior Member
    Join Date
    Jan 2015
    Location
    Cluj-Napoca, RO
    Posts
    302

    Certifications
    Several (ITIL, Avaya, ShoreTel, Cisco)
    #2
    1. FXO =/= ISDN (E1 or T1). the RJ11 line you get in is a POTS line (Plain Old Telephony Service) which is analogue telephony (1 call per cable) - no digital features, just straight up calling. You won't be able to connect this RJ11 interface to the VWIC2-T1/E1 card. You'll need a VWIC2-FXO card to do this. E1 or T1 circuits usually come over a 4 wire pair (RJ-45) where you'd connect straight into the VWIC2-E1/T1 or coaxial cables whereby you'd need a thing called a Balun adapter to hook the cable up to your VWIC2-E1/T1 card.

    2. Calls that come in from the PSTN can be 100% processed by the gateway so you can just do ALL digit manipulation (strip digits, add digits etc) on the Gateway via "Voice Translation Rules" on the Gateway. The way you do this is you have to create a dial-peer to catch all your E1/T1 incoming calls like:

    dial-peer voice 2 pots
    incoming called-number . (this will catch all digits/calls coming from the PSTN INTO your gateway)
    port 1/0:30 (I'm assuming your E1 card is in slot 1 and your ISDN circuit comes into port 0; 1/0:30 is the D-Channel used for signaling)
    translation-profile voice incoming PSTN-STRIP

    Now, that translation profile will have a "voice translation-rule" inside it that takes the Called number from the PSTN (ie. 212-555-2xxx) and strips it down to just the last 4 digits you need to match the "dial-peer voice 1 voip". When this is done, your gateway will send just the 2xxx call over to CUCM via your SIP dial-peer and that's it. You'll need to read up on gateway "voice translation rules" and "voice translation profiles" but they're very simple to understand. A sample voice translation rule for that would do this stripping would look like this:

    voice translation-rule 1
    rule 1 /^2125552.../ /2.../

    then the voice translation profile would look like:

    voice translation-profile PSTN-STRIP
    translate called 1 (references the above rule)

    EDIT: missed one point. Calls from CUCM to your gateway need to be routed over a SIP trunk.

    You basically add a SIP trunk in CUCM using the IP address of your gateway.

    Then you create a Route Group and add this SIP trunk into it. After this you create a Route List and add the above Group into this Route List.

    Lastly, you create a Route Pattern (ie. 9.@) that catches all calls prefixed by a 9 and point this Route Pattern to your above Route List.

    Calls will hit the Route Pattern, look into the Route List, see the Route Group and go out over the SIP trunk to attempt and reach the PSTN.

    At this point, your call should be under the Gateway's "jurisdiction" and your outbound dial-peers on the gateway will be responsible for stripping the "9" in front of the dialed digits and route the call over to the PSTN.

    There are many ways to do it (digit manipulation from CUCM but this might be easier so try it out and if it works, you can always complicate it further )
    Last edited by negru_tudor; 07-02-2016 at 02:37 PM.
    Reply With Quote Quote  

  4. Senior Member sacredboy's Avatar
    Join Date
    May 2012
    Location
    Australia
    Posts
    275
    #3
    Hi negru_tudor,

    You can't imagine how helpful your post is and I highly appreciate your help.

    I followed your steps but something went wrong and I would be immensely grateful if you could have a look on it.

    Below are my VoIP related configs from PSTN emulator, and two routers that act as two offices.
    Code:
    PSTN-FR#show running-config 
    !
    card type e1 0 0
    card type e1 0 1
    !
    no aaa new-model
    !
    network-clock-participate wic 0 
    network-clock-participate wic 1 
    !
    isdn switch-type primary-net5
    !
    voice translation-rule 10
     rule 1 /^61[2-9]..[2-9]...../ /\0/
     rule 2 /^0011\(.*\)/ /\1/
     rule 3 /^[2-9]......./ /612\0/
    !
    voice translation-rule 20
     rule 1 /^1[2-9]..[2-9]....../ /\0/
     rule 2 /^011\(.*\)/ /\1/
     rule 3 /^[2-9]....../ /1212\0/
    !
    voice translation-rule 30
     rule 1 /^61[2-9]..[2-9]...../ /\0/
     rule 2 /^0011\(.*\)/ /\1/
     rule 3 /^[2-9]......./ /618\0/
    !
    voice translation-profile FROM_ADELAIDE
     translate called 30
    !
    voice translation-profile FROM_NEW_YORK
     translate called 20
    !         
    voice translation-profile FROM_SYNDEY
     translate called 10
    !
    voice-card 0
    !
    controller E1 0/0/0
     pri-group timeslots 1-10,16
     description **VOICE CIRCUIT TO SYDNEY**
    !
    controller E1 0/1/0
     pri-group timeslots 1-10,16
     description **VOICE CIRCUIT TO NEW YORK**
    !
    interface Serial0/0/0:15
     no ip address
     encapsulation hdlc
     isdn switch-type primary-net5
     isdn protocol-emulate network
     isdn incoming-voice voice
     no cdp enable
    !
    interface Serial0/1/0:15
     no ip address
     encapsulation hdlc
     isdn switch-type primary-net5
     isdn protocol-emulate network
     isdn incoming-voice voice
     no cdp enable
    !
    voice-port 0/0/0:15
     translation-profile incoming FROM_SYDNEY
    !
    voice-port 0/1/0:15
     translation-profile incoming FROM_NEW_YORK
    !
    mgcp profile default
    !
    dial-peer voice 1 pots
     incoming called-number .
     direct-inward-dial
    !
    dial-peer voice 168 pots
     description **SYDNEY 248195XXX**
     destination-pattern ^61224815...
     port 0/0/0:15
     forward-digits 9
    !
    dial-peer voice 169 pots
     description **NEW YORK 2125165XXX**
     destination-pattern ^12125165...
     port 0/1/0:15
     forward-digits 10
    Code:
    SYD-RTR#show running-config 
    !
    card type e1 0 0
    !
    network-clock-participate wic 0 
    !
    isdn switch-type primary-net5
    !
    voice translation-rule 1
     rule 1 /^248192\(...\)$/ /2\1/
    !
    voice translation-profile PSTN-STRIP
     translate called 1
    !
    voice-card 0
    !
    controller E1 0/0/0
     pri-group timeslots 1-10,16
     description **VOICE CIRCUIT TO PSTN**
    !
    interface Serial0/0/0:15
     description **VOICE CHANNEL TO PSTN**
     no ip address
     encapsulation hdlc
     isdn switch-type primary-net5
     isdn incoming-voice voice
     no cdp enable
    !
    dial-peer voice 1 voip
     destination-pattern 248.
     session protocol sipv2
     session target ipv4:192.168.10.5
     dtmf-relay rtp-nte sip-notify
     codec g711alaw
    !
    dial-peer voice 2 pots
     incoming called-number .
     port 0/0/0:15
    Code:
    NY-RTR#show running-config
    !
    card type e1 0 0
    !
    isdn switch-type primary-net5
    !
    network-clock-participate wic 0 
    !
    voice translation-rule 1
    voice translation-rule 1
     rule 1 /^2125165\(...\)$/ /5\1/
    !
    voice translation-profile PSTN-STRIP
     translate called 1
    !
    voice-card 0
    !
    controller E1 0/0/0
     pri-group timeslots 1-10,16
     description **VOICE CIRCUIT TO PSTN**
    !
    interface Serial0/0/0:15
     description **VOICE CIRCUIT TO PSTN**
     no ip address
     encapsulation hdlc
     isdn switch-type primary-net5
     isdn incoming-voice voice
     no cdp enable
    !
    dial-peer voice 10 pots
     description **9-DIGIT LOCAL DIALING**
     destination-pattern 9[^1].........
     port 0/0/0:15
     forward-digits 10
    !
    dial-peer voice 11 pots
     description **LONG DISTANCE DIALING**
     destination-pattern 91..........
     port 0/0/0:15
     forward-digits 11
    !
    dial-peer voice 12 pots
     description **INTERNATIONAL CALLS**
     destination-pattern 9011T
     port 0/0/0:15
     forward-digits all
    I also changed the diagram in the first post in accordance to my config and my trunk and route pattern configs.

    When I dial 0001112125165510 on SYD side I get "The call cannot be completed".
    When I try to dial 901161248192480 on NY side the dial is dropped after 90116124819 and I get this message on PSTN router.
    Code:
    Jul  3 09:26:31.043: %ISDN-6-DISCONNECT: Interface Serial0/1/0:9  disconnected from unknown , call lasted 0 seconds
    Jul  3 09:26:31.107: %ISDN-6-DISCONNECT: Interface Serial0/1/0:9  disconnected from unknown , call lasted 0 seconds
    Could you please check if anything is configured incorrectly.

    I highlighted parameters MTP Preferred Originating Codec on screen 3 and Numbering Plan on screen 5. I don't know why they are inactive.

    Thank you.
    Attached Images Attached Images
    Last edited by sacredboy; 07-03-2016 at 12:49 PM.
    Best, sacredboy!
    Reply With Quote Quote  

  5. Senior Member
    Join Date
    Jan 2015
    Location
    Cluj-Napoca, RO
    Posts
    302

    Certifications
    Several (ITIL, Avaya, ShoreTel, Cisco)
    #4
    Hi,

    Can't really dig deep into this but I'd backtrack a bit in your stead and try doing the following:

    - build up simple
    - register a CIPC phone straight onto the PSTN phone with 2 lines. Then call from SYD to one of these lines, do the same from NY
    - try calling from this CIPC PSTN phone into both offices - see if calls work fine
    - try to break it down into small manageable pieces and do one segment at a time (SYD-to-PSTN, PSTN-to-SYD, NY-to-PSTN, PSTN-to-NY)
    - when and if calls fail you can use 2 pretty good commands that give some insight into why calls are failing:
    1. "debug ccsip messages" - this shows you the SIP messages. Useful to turn on and see how far downstream is the call going and where's it failing
    2. "debug isdn q931" - this is useful for troubleshooting issues where you suspect the call not going past the ISDN link

    - try to do just one dial-peer on both SYD and NY for outgoing calls initially
    - remove the ^ from the dial-peer's destination-pattern
    - review your incoming dial-peers; if you're expecting calls on E1 port 0/1:15 and 0/0:15 then you need 2 dial-peers (with the incoming called-number .), one for each port but add the "preference 1" command to one of them.
    - that message you hear when trying to dial from SYD is from CUCM and most of the time is due to misconfigured CSS and Partitions; i see your 0.0011!# route pattern is in the None partition which should, theoretically, be available to all CSSs but I'd double check.
    - did you point the CUCM Route Pattern to a RG->RL->SIP trunk or straight to the SIP Trunk? seems to me you went straight to the SIP trunk but if you used Route Groups, make sure the SIP trunk is in the Route Group you're using (if any)
    - on the SYD gateway, you might need to use the BIND the SYD gateway's IP address you've specified in CUCM as the primary SIP address. You need to go onto the GW and do this:

    SYD#conf t
    SYD(conf-t)#voice service voip
    SYD(conf-voi-serv)#sip
    SYD(conf-serv-sip)#bind all source-interface FastEthernet0/0 (or the interface you know has the above IP address)

    You might need to configure MTP resources on the SYD gateway and have them registered onto CUCM then create a Media Resouce Group, a Media Resource List and bind this MRGL (media resource group list) to the Device Pool that the SIP trunk's assigned to.

    Best advice I can give you right now is to try to simplify the config and do it one baby step at a time.

    Might look at this again today if I get some spare time.
    Reply With Quote Quote  

  6. Senior Member sacredboy's Avatar
    Join Date
    May 2012
    Location
    Australia
    Posts
    275
    #5
    Hi guys,

    I made some changes in my config.
    Code:
    dial-peer voice 1 pots description **INBOUND DIAL PEER**
     incoming called-number .
     direct-inward-dial
     port 0/0/0:15
    !
    dial-peer voice 10 pots
     description **10-DIGIT LOCAL DIALING**
     port 0/0/0:15
     forward-digits 10
    !
    dial-peer voice 11 pots
     description **LONG DISTANCE DIALING**
     destination-pattern 91[2-9]..[2-9]......
     port 0/0/0:15
     forward-digits 0
     prefix 1 
    !
    dial-peer voice 12 pots
     description **INTERNATIONAL CALLS**
     destination-pattern 9011T
     port 0/0/0:15
     forward-digits 0
     prefix 011
    !
    dial-peer voice 2480 voip
     description **OUTGOING CALLS TO SYD OVER WAN**
     destination-pattern 248.
     session protocol sipv2
     session target sip-server
    !
    dial-peer voice 5510 voip
     description **INCOMING CALLS FROM SYD OVER WAN**
     session protocol sipv2
     session target sip-server
     incoming called-number .
    I also added dial-peer for international calls on SYD gateway.
    Code:
    dial-peer voice 3 pots
    description Example International Dial-Peer to the US.
    destination-pattern 000111T
    prefix 0011
    port 0/0/0:15
    Unfortunately, still no luck.

    I noticed one thing when I was trying to dial international number. When I press 9 on NY site to access trunk I cannot hear the change of tone which I can on SYD site where CUCM resides. Why is it so and how can I configure that?
    Last edited by sacredboy; 07-10-2016 at 11:05 AM.
    Best, sacredboy!
    Reply With Quote Quote  

  7. Senior Member sacredboy's Avatar
    Join Date
    May 2012
    Location
    Australia
    Posts
    275
    #6
    Hi guys,

    I just got one question. On my voice gateway and CUCME I configured translation rules that translate incoming PSTN calls from DID numbers to internal 4-digits numbers.
    Code:
    SYD-RTR#show running-config | i translation
    !
    voice translation-rule 1
     rule 1 /248192\(...\)$/ /2\1/
    !
    voice translation-profile PSTN-STRIP
     translate called 1
    !
    voice-port 0/0/0:15
     translation-profile incoming PSTN-STRIP
    Code:
    NY-RTR#show running-config | i translation
    voice translation-rule 1
     rule 1 /2125165\(...\)$/ /5\1/
    !
    voice translation-profile PSTN-STRIP
     translate called 1
    !
    voice-port 0/0/0:15
     translation-profile incoming PSTN-STRIP
    I just wonder if I should configure translation rules for outgoing PSTN calls from internal 4-digits numbers to DID numbers?
    Best, sacredboy!
    Reply With Quote Quote  

  8. Senior Member sacredboy's Avatar
    Join Date
    May 2012
    Location
    Australia
    Posts
    275
    #7
    Hi guys,

    On PSTN simulator I configured CME to test calls. I attached the diagram and configs from PSTN, SYD and NY routers.
    Code:
    PSTN#sh run
    voice translation-rule 10
     rule 1 /^61[2-9]..[2-9]...../ /\0/
     rule 2 /^0011\(.*\)/ /\1/
     rule 3 /^[2-9]......./ /612\0/
    !
    voice translation-rule 30
     rule 1 /^61[2-9]..[2-9]...../ /\0/
     rule 2 /^0011\(.*\)/ /\1/
     rule 3 /^[2-9]......./ /618\0/
    !
    voice translation-profile FROM_NEW_YORK
     translate called 20
    !
    voice translation-profile FROM_SYDNEY
     translate called 10
    !
    voice-port 0/0/0:15
     translation-profile incoming FROM_SYDNEY
    !
    voice-port 0/1/0:15
     translation-profile incoming FROM_NEW_YORK
    !
    dial-peer voice 1 pots
     incoming called-number .
     direct-inward-dial
    !
    dial-peer voice 2 pots
     description **SYDNEY 24819XXXX**
     destination-pattern ^61248192...
     incoming called-number ^61248192...
     direct-inward-dial
     port 0/0/0:15
     forward-digits 9
    !
    dial-peer voice 3 pots
     description **NEW YORK 212516XXXX**
     destination-pattern ^12125165...
     incoming called-number ^12125165...
     direct-inward-dial
     port 0/1/0:15
     forward-digits 10
    !
    ephone-dn  2  dual-line
     number 31802875 secondary 61231802875
     description **SYDNEY NUMBER**
    !
    ephone-dn  4  dual-line
     number 2127114905 secondary 12127114905
     description **NEW YORK NUMBER**
    Code:
    SYD-RTR#sh run  
    !
    voice translation-rule 1
     rule 1 /248192\(...\)$/ /2\1/
    !
    voice translation-profile PSTN-STRIP
     translate called 1
    !
    voice-port 0/0/0:15
     translation-profile incoming PSTN-STRIP
     cptone AU
    !
    dial-peer voice 1 voip
     description **FROM PSTN TO CUCM**
     destination-pattern 2...
     session protocol sipv2
     session target ipv4:192.168.10.5
     dtmf-relay rtp-nte sip-notify
     codec g711ulaw
    !
    dial-peer voice 2 pots
     description **INBOUND DIAL PEER**
     incoming called-number .
     direct-inward-dial
     port 0/0/0:15
    !
    dial-peer voice 3 pots
     description **INTERNATIONAL DIAL-PEER**
     destination-pattern 00011T
     port 0/0/0:15
     prefix 0011
    !
    dial-peer voice 4 pots
     description **SYDNEY LOCAL 8-DIGIT NUMBERS**
     destination-pattern 0........
     port 0/0/0:15
     forward-digits 8
    Code:
    NY-RTR#sh run
    !
    voice translation-rule 1
     rule 1 /2125165\(...\)$/ /5\1/
    !         
    voice translation-profile PSTN-STRIP
     translate called 1
    !
    voice-port 0/0/0:15
     translation-profile incoming PSTN-STRIP
    !
    dial-peer voice 1 pots
     description **INBOUND DIAL PEER**
     incoming called-number .
     direct-inward-dial
     port 0/0/0:15
    !
    dial-peer voice 10 pots
     description **10-DIGIT LOCAL DIALING**
     destination-pattern 9[2-9].........
     port 0/0/0:15
     forward-digits 10
    !
    dial-peer voice 11 pots
     description **LONG DISTANCE DIALING**
     destination-pattern 91[2-9]..[2-9]......
     port 0/0/0:15
     forward-digits 0
     prefix 1
    !
    dial-peer voice 12 pots
     description **INTERNATIONAL CALLS**
     destination-pattern 9011T
     port 0/0/0:15
     forward-digits 0
     prefix 011
    Now I can call from PSTN phone to NY by dialling 1 212 516 551X, but I can't do that with SYD. Also, I can't dial any PSTN phone number from both SYD and NY.

    I'd appreciate if you could have a look on my configs and check if some incoming or outgoing rules are missing.

    Also, on SYD site I have translation rule from DIDs to extensions configured only on voice gateway. However, I have route patterns and dial peers configured on CUCM and gateway. Is that correct?
    Attached Images Attached Images
    Best, sacredboy!
    Reply With Quote Quote  

+ Reply to Thread

Social Networking & Bookmarks