It's been 10 days or so since I've written. I don't want to be that guy who has to say something every day, so, thanks for not giving up on me 🙂
LifeChurch.tv is a Cisco CallManager shop. We have been for 5+ years now beginning on the CCM 3.x train, and now currently running v6.x and we love it! As ONE Church in multiple locations we utilize voice over IP to communicate between all of our campuses.
When we launched our Hendersonville, Tennessee campus, we brought them online using SIP service from bandwidth.com and it has worked well. We have 5 DIDs and all of their incoming/outgoing calls run through our SIP Gateway to the Bandwidth.com service I should probably blog about that setup sometime too.
Recently, we purchased a group of about 10 DIDs from didww.com. We have one number from the US and the rest are International numbers. Unlike bandwidth.com, the didww.com solution is INCOMING ONLY which is fine, but different of course. We wanted to tie those into our CallManager, but the project has been put on the back burner for a while. We did simple forwarding of two of those numbers to cell phones, but that's not a scalable solution for sure.
So, just last night we got this working. Here are some details that hopefully help someone else.
I'll start with the Cisco CallManager GUI setup. Remember, the screenshots below are on v6.x of CCM. I'm not going to get into the specifics of Cisco CCM terminology. If you are implementing this, then you should be familiar with these terms and the what/when/why.
First of all, create the Calling Search Space… Call Routing -> Class of Control -> Calling Search Space
We created one called "Incoming Trunk" – Because, well, it made sense. We added all the appropriate Partitions that were relevant for us. Yours will be different of course. Click Save.
Now it's time to make a Device Pool for the SIP Trunks… System -> Device Pool
We created a Device Pool cleverly named DIDWW-Pool and chose the options that were relevant to us including the Incoming Trunk CSS that was created above. Click Save.
Next, we created a SIP Trunk Security Profile… System -> Security Profile -> Sip Trunk Security Profile
Our Profile was cleverly named DIDWW Trunk Profile. Choose the relevant options. Click Save.
Okay, prep-work done. Now it's time to create some SIP Trunks. DIDWW publishes their list of the SIP Trunk IP Addresses here, so make sure you get that. Create your trunks… Device -> Trunk
Create a SIP Trunk for every IP Address from the DIDWW list. We created ours with the country naming convention – DIDWW_US (US1, US2, etc.), DIDWW_UK (UK1, UK2, etc.), DIDWW_ME (ME1, ME2, etc.)
Here are three screenshots with details. Remember, repeat this for all DIDWW SIP Trunk IP Addresses
Alrighty, you're done with Cisco CallManager. Your SIP Trunks are ready.
Let's go to DIDWW.com and figure out what to do there. Login with your Account and go to Mapping -> Custom -> Add Custom Server
Create your Custom SIP Server Mapping pointing to the IP Address of your SIP Gateway – for us, that's a Cisco 3725 router running the "ipvoice-ivs" IOS revision. Choose your settings and click Add.
Great, now you have a SIP Gateway configured. Time to point your DIDs to that Gateway.
That's it with DIDWW.com – now off to make sure the Cisco Gateway is configured properly.
First of all, you want to make sure the voip service is activated on your gateway. For our Cisco 3725, this used the "voice service voip" commands in the global config.
voice service voip
allow-connections h323 to sip
allow-connections sip to h323
allow-connections sip to sip
h323
ip circuit max-calls 1000
ip circuit default only
Next, define the codecs to be used. On all of our voice routers, we have the same voice class.
voice class codec 99
codec preference 1 g711ulaw
codec preference 2 g729br8
codec preference 3 g729r8
Next, you want to define a translation rule. That is, when incoming calls hit your gateway, where do you want to translate them? For this purpose, I want incoming calls to our New York DID above to go straight to extension 5433 (which spells "life" incidentally) and be answered by our awesome receptionist team.
voice translation-rule 2
rule 1 /^.*2124613640/ /5433/
You can now test that like this
test voice translation-rule 2 2124613640 and you'll get responses like this which let you know it works
Activate your translation-rule with a translation profile
voice translation-profile DIDWW_Incoming
translate called 2
Great, now it's time to create your dial-peer – the part that actually handles the call
dial-peer voice 101 voip
description Incoming SIP from DIDWW.com
translation-profile incoming DIDWW_Incoming
service session
voice-class codec 99
session protocol sipv2
session transport udp
incoming called-number .
dtmf-relay rtp-nte digit-drop
no vad
Since, you're translating to 5433, you want to make sure there's also a dial-peer that knows how to get to extension 5433 on your PBX
dial-peer voice 1 voip
preference 1
destination-pattern 5…
progress_ind setup enable 3
progress_ind connect enable 8
session target ipv4:IP.OF.YOUR.PBX
dtmf-relay rtp-nte h245-alphanumeric
codec g711ulaw
That's it.
You created your Trunks on Cisco CallManager
You created your Mapping on DIDWW.com
You created your translations and dial-peers on your SIP Gateway (Cisco router)
Dial your DID, and watch the magic happen! Hooray!
UPDATED 12/18/2008 – 9:50PM EST
After further review and discussion with an amazing engineer, much of the Cisco CallManager setup above is unnecessary. Further details here.
Hi Daryl, what a terrific Web Site! I am so happy to find it. You do a fantastic job of keeping people informed in a fun way. Our office is in the discovery phase and trying to decide between voicemail/Unified Messaging on a Cisco Unity 8.5 or Exchange 2010. We have several versions of Unity now, from Express, to 7.0. We have no idea what Exchange strengths and weaknesses are. Can you tell me which system you prefer for users and administrators? We have 25 offices throughout the US and Canada, and approximately 1000 users. Thanks for any input you can provide.
Hello,
I have Cisco CME 3825, I have Created the SIP trunk on DIDWW.com , can you please send me the Command Line configuration on the CME. I don’t have unity Express.