a. Create a Gateway (MGCP/H323) or SIP Trunk (SIP Gateway)
b. Create Route Group (RG), add the above created Gateway/SIP Trunk
c. Create Route List (RL) --> Select "Standard Local Route Group" for Route Group
c. Create Route Pattern (RP) - for example 911 --> Select the RL (as created in step c)
d. Device Pool --> Select Local Route Group (as created in step b)
In CUCM CTI Route Points and CTI Ports are often used interchangeably.
However there is a difference.
Most IVR based applications on CUCM however use CTI Ports to enable Post Routing capabilities.
Directory Integration with a Multi-Forest Environment is supported in CUCM through Active Directory Light Weight Directory Service (AD LDS).
Once AD LDS is configured, the configuration on Cisco side is very similar to doing a regular LDAP integration on CUCM.
AD LDS runs as a service on one of the Domain Controllers. In the picture below, the AD LDS could be installed on any of the DCs as long as that DC can speak to the other DCs.
A good configuration guide can be found here:
This is an example of Dial-Peers how they are configured on an Cisco IOS Gateway which is registered to CUCM.
A rule of thumb, each call has two call-legs, hence two dial-peer have to be matched with incoming and outgoing call.
! This example assumes that PRI is being used for PSTN calls. If SIP is the service used, it would be similar dial-peers but voip and some other changes like dtmf, destination IPv4, etc.
Inbound from PSTN (Dial-peers 1 and 2 below - 2 call legs)
! Incoming Dial-Peer to receive calls from outside PSTN.
dial-peer 1 pots
incoming called-number . ! '.' will match any digit and any preceding digits. If this was a .$ then only one digit would be matched
! Other leg of the incoming call going towards CUCM
! This dial-plan assumes that telco send 4 digit calls to the customer in the format 2XXX.
dial-peer 2 voip
session target ipv4:10.1.1.2 ! CUCM IP
Outbound from CUCM to PSTN (Dial-peers 3 to recieve calls from CUCM and rest of dial-peers to send to PSTN - 2 call legs)
! Incoming Dial-Peer to receive calls from CUCM.
dial-peer 3 voip
incoming called-number .
session target ipv4:10.1.1.2 ! CUCM IP
! For emergency calls
! Other leg of the outgoing call going towards PSTN - based on the number dialed. One of these will be used to call PSTN.
dial-peer 911 pots
no digit strip <OR> prefix 911 <OR> forward-digits 3 !Anything that is explicitly matched on POTS dial-peer is removed. ! This isn't true for VOIP. VOIP Dial-peer doesn't remove anything that is explicitly matched.
! 10 digit North American calls
dial-peer 9 pots
! no need for any prefix or any forward digits as only number explicitly matched is 9 which we want removed as its our ! PSTN code.
! 11 digit North American Long Distance calls
dial-peer 91 pots
prefix 1 <OR> forward-digits 11 ! 1 is being explicitly matched and we want it to go out as its our long distance code used by the PSTN.
! International Calls
dial-peer 9011 pots
destination-pattern 9011T ! International calls dialed with # in the end would be matched too. It would be automatically matched because of the next dial-peer. Next dial-peer is default so it isn't visible in the config.
prefix 011 ! can't use forward-digits as we don't know the extension length that would be dialed.
dial-peer terminator # ! Its a default command and any call with # is already a terminator for interdigit timeout, unless changed by someone.
Note: On CUCM, in Service Parameters "Strip # Sign from Called Party Number" is "True" by Default - Meaning it would remove # as the trailing number.
(CUCM Version Used for Screenshots: 126.96.36.19900-26)
System --> Security --> Sip Trunk Security Profile
Copy the ‘Non Secure SIP Trunk Profile’, enter a new name: For example: ‘CUC SIP Security Profile’. Leave everything else to default.
Advanced Features --> Voicemail --> Voice Mail Pilot
Either change the ‘Default’ one or create a new one.
(We are not adding any Calling Search Space – but it has to be added if needed)
Advanced Features --> Voicemail --> Voice Mail Profile
Now again, either change the ‘Default’ one or create a new one.
Device --> Trunk --> Add New
Type in a recognizable name, and add other parameters through the dropdown (like Device Pool, Location, etc)
Leave other options as default, but make sure you select the following two:
‘Redirecting Diversion Header Delivery – Inbound’ in the ‘Inbound Calls’ section and
‘Redirecting Diversion Header Delivery – Outbound’ in the ‘Outbound Calls’ section
Put the IP Address of the Unity Connection Server in ‘Destination Address’, select ‘SIP Trunk Security Profile’ which was created in the previous section.
SIP Profile is a required field, you can select ‘Standard SIP Profile’ for this purpose. Save the trunk configuration.
Call Routing --> Route/Hunt --> Route Pattern --> Add New
Put in the Voice Mail Pilot DN here as the Route Pattern and select the SIP Trunk created in the previous step.
(Keep in mind, I have not created, ‘Route Group’, ‘Route List’ and then applied it here. That method is fine too)
At this time, CUCM side of configuration is complete. However, make sure the phones are configured for the phone Voice Mail profile which was created. And they are configured to send un-answered calls to the voice mail.
(CUC Version Used for Screenshots: 188.8.131.5200-26)
Telephony Integrations --> Phone System
Add a new one or select the existing one
Click on ‘Go’ beside ‘Add Port Group’
Select ‘SIP’ as the ‘Port Group Type’, ‘Display Name’ would be pre-populated, enter the IP Address of the CUCM Server in ‘IPV4 Address of Host Name’ and Save.
Click on ‘Register with SIP Server’ leave the others to default settings.
You can also change the codec advertising if needed.
Click on ‘Go’ beside ‘Add Ports’.
Note 1: SIP Integration of CUC and CUCM doesn't have MWI On/Off DNs. SIP Integration uses SIP NOTIFY messages to turn ON/OFF the MWI on the phone.
Note 2: Ports dictate how many concurrent sessions can occur between CUCM and CUC. In this example, maximum of 3 sessions would exist between CUCM and CUC (for example 3 people would be able to check voicemail at one time because we are using 3 ports or 2 people can check voice mail and one auto attendant session, or any other combination)
PS: Until CUC version 8, number of ports was dictated by license. From CUC 9 and later, this is no longer a licensed feature. Ports now depend on the hardware/hardware OVA template used.
For CUC 11.x, check this URL for the maximum number of ports supported:
Click on ‘Go’ beside ‘Check Telephony Configuration’ to check if everything is good.
If no problems exist, you will see the following:
Now the only thing left is to create voicemail boxes and you are good to go.
!Step 1 - CME CONFIG
ip unnumbered Vlan2 ! Meaning we would be using IP address from the range of: Vlan2 range.
service-module ip address 192.168.1.251 255.255.255.0
!Application: CUE Running on SM
service-module ip default-gateway 184.108.40.206 ! Default Gateway
ip route 220.127.116.11 255.255.255.255 SM1/0 ! Subnet mask is 255.255.255.255 as only traffic to this address 253 would come to Service Module 1/0
dial-peer voice 2222 voip !Dial-Peer for VM Pilot
session protocol sipv2
session target ipv4:192.168.1.251
! For SCCP CME
ephone-dn 1 octo-line ! Put under existing DNs
call-forward busy 2222
call-forward noan 2222 timeout 20
! For SIP CME
voice register global
voice register dn 1 ! Put under existing DNs
call-forward b2bua busy 2222
call-forward b2bua mailbox 2222
call-forward b2bua noan 2222 timeout 20
voice register pool 1
dtmf-relay rtp-nte ! Make sure DTMF Relay Method is already configured on the phone
mwi-server ipv4:192.168.1.251 unsolicited
!Step 2 - CUE CONFIG
!NOW THE CUE MODULE IS RECONGNISED BY THE CME AND ALL NECESSARY CONFIG IS COMPLETE
!REMEMBER CUE IS A SEPERATE MODULE RUNNING INSIDE THE CME ROUTER SO IT NEEDS TO BE INITIALISED TOO
service-module service-Engine 1/0 session
!Create a CCN Subsystem SIP
ccn subsystem sip
gateway address 192.168.1.250
mwi sip unsolicited
! Create a CCN Trigger SIP
ccn trigger sip phonenumber 2222 !<-- This number has to match the number configured under "telephony-service" and under "voice register global"
username one create
username two create
username one phonenumber 2001
username two phonenumber 2002
username one pin 12345
username two pin 12345
voicemail mailbox owner one
no tutorial ! Optional - Incase you dont want the voicemail tutorial to be played for the first time users logs into Unity Express
voicemail callerid ! Optional - Used to enable playing of caller ID information from incoming voice-mail messages
voice register global
source-address 192.168.1.32 port 5060
! Other Features
timeouts interdigit 5
ntp-server 192.168.1.250 mode directedbroadcast
timezone 1 ! type ? for a list
camera ! to enable camera
video ! to enable video
! secondary dial-tone on SIP is not supported
voice class codec 1 ! Just to prioritize the codec
codec preference 1 g711ulaw
codec preference 2 ilbc
video codec h264
voice service voip
no ip address trusted authenticate
allow-connections h323 to h323
allow-connections h323 to sip
allow-connections sip to h323
allow-connections sip to sip
bind control source-interface Vlan2 ! voice vlan or voice sub-interface
bind media source-interface Vlan2 ! voice vlan or voice sub-interface
voice register dn 1
name HQ Phone 1
voice register pool 1
id mac <MAC>
number 1 dn 1 ! Button 1, DN 1 (2001) configured above
username hqone password cisco
dtmf-relay sip-kpml rtp-nte
voice-class codec 1 ! g711 would be preferred based on the 'voice class codec' configured
busy-trigger-per-button 1 ! second call would be busy
Make sure basic infrastructure is there:
For example: VLAN, DHCP, NTP, etc
2. Basic CME Config
ip source-address 10.1.1.1 ! voice vlan/loopback address
Power on phones in sequence.
3. Configuring Phone Numbers
button 1:1 ! Button 1, DN 1 (configured above)
button 1:2 ! ! Button 1, DN 2 (configured above)
4. Changing Display Message on Phone
system message Jalson International Inc
5. Dual Channel
ephone-dn 3 dual-line
button 1:1 2:3
To verify: sh ephone
6. Seconadry Dial Tone
7. Call Blocking
after-hours block pattern 1 91900 7-24
after-hours block pattern 2 9011
Ephone 2 will be able to dial 91900 (Premium) and 9011 (International)
8. Call Distribution -- shared lines
time-zone 43 ! type ? aftertimezone to see the list.
10. Date Format
11. Call Transfer/Call Forward Allow to Any Pattern
call-forward pattern .T ! to forward to any pattern
transfer-pattern .T ! to transfer to any pattern including PSTN
transfer-system full consult ! full-consult - won't allow blind transfer