CallManager upgrade procedures

Ran into something screwy trying to install CM update 4.0(2a) on a new CM 4.0(1) install. I kept getting an error message that said something like “Device not ready”. I finally checked out the install logs and discovered that it was looking for a file on the CD-ROM. I stuck the CM install CD back in and now it seems to have worked. Funny thing is, the file it was looking for isn’t on the CD. Anyway, what’s so important about 4.0(2a)? Well, as far as I can tell, you need it to install 4.1(2), which is really what I want. Also, just noticed that 4.1(3) came out about a week ago. I’ll have to try that out.

Asterisk dial plans

Per Steve’s request, here’s what I have in the extensions_custom.conf file in Asterisk:

[macro-dialout-callmanager]

exten => s,1,ChanIsAvail(SIP/callman01)
exten => s,2,Cut(AVAILCHAN=AVAILCHAN,,1)
exten => s,3,Dial(${AVAILCHAN}/${ARG1})
exten => s,4,Hangup

exten => s,102,Congestion

[outbound-cm]

exten => _20XX,1,Macro(dialout-callmanager,${EXTEN})
exten => i,1,Congestion

[from-broadvoice]
exten => 2100,1,Macro(dialout-callmanager,${EXTEN})

And for the sip.conf:


[callman01]
type=friend
context=from-internal
host=192.168.169.10
disallow=all
allow=ulaw
allow=alaw
nat=no
canreinvite=yes
qualify=yes

I set it to “from-internal” so that calls from the CM would be treated just like a softphone attached to Asterisk. I didn’t want to have any “outside” to “outside” hairpinning restrictions causing a problem.

Cisco CallManager, managed routers and CallerID

I’ve been running Cisco CallManager Express for almost a year now and it’s worked pretty well. I hadn’t installed Unity yet so I was still using a good old answering machine off of a Cisco ATA 186. Time to start learning CallManager though, so I went through setting up CM. My FXO port is still on the 1760-V though so I needed to network that to CM as my PSTN gateway. The most obvious way to do this is to configure CM to “manage” the router as an MGCP device. Here’s Cisco’s instructions for doing this. Work’s nicely as the CM will then push config changes to the router based on configuration’s on the CM. The only problem I had was that Caller-ID quit working. I found a link on Cisco’s site that flat out said it’s not supported on CM4.1 and MGCP to a VIC2-FXO2. How much does that suck.

My solution was to reconfigure the router as a CallManager Express box with very little config. All I really have is:

telephony-service
fxo hook-flash
max-conferences 4

Of course, you still have to have some basic dial-patterns configured.


dial-peer voice 2000 voip
destination-pattern 2…
session target ipv4:192.168.169.10
codec g711ulaw
no vad
!
dial-peer voice 8 pots
destination-pattern 8.T
port 0/0

And the FXO port:

voice-port 0/0
timing hookflash-out 50
connection plar 2100
caller-id enable

Then, in CM, I set up CME as an Inter-Cluster Trunk (non-gatekeeper controlled). The configuration is pretty simple in there. Caller ID now works again.

BroadVoice and Asterisk…not as simple as their website suggests

Ok, this one’s for Steve:

I recently set up CallManager 4.1(2) and Unity 4.0 at home. I have a Cisco 1760-V with an FXO that I’m using as my PSTN gateway. I’ll cover connection of the router to the CallManager in another post. After I got that working I setup Asterisk using the Asterisk@Home ISO. First tested it by configuring a couple of X-Ten Lite softphones. I’ll also save connection of Asterisk to CM for a later post. I was then able to dial from a softphone to a Cisco phone and back. Not a big deal.

Ok, why run Asterisk if I have CallManager working just fine? I wanted to use a service like Vonage but not have to get an ATA from them. There are a number of companies out there that provide VoIP with Bring Your Own Device (BYOD) plans available. After looking around a bit I chose BroadVoice. BV offers $10 sign up for BYOD and a “Lite” plan for $6/month. I only get 100 minutes outbound with that but it’ll be good for testing.

The nitty gritty. BV has a sample Asterisk configuration on their website but I found it to be…lacking. It’s not clear what the password should be. (side note, I just looked at the instructions again and they must have updated them in the last few days. It’s much better now but still not as clear as it needs to be.) Once you are a member of BV there is a section in the account portal, account tab, “Your Devices”. Clicking on this device will show a sample config with your info plugged in…the “auth_password” is what you need for Asterisk. Once you have that, you need to set up the sip.conf file like mine here:

[general]

port = 5060 ; Port to bind to (SIP is 5060)
bindaddr = 0.0.0.0 ; Address to bind to (all addresses on machine)
disallow=all
allow=ulaw
allow=alaw
;context = from-broadvoice ; Send BV SIP callers to this context
;callerid = Unknown
register => 443430YYYY@sip.broadvoice.com:XXXXXXX:443430YYYY@sip.broadvoice.com/ZZZZ
externip = brookehouse.homedns.org

[sip.broadvoice.com]
type=peer
user=phone
host=sip.broadvoice.com
fromdomain=sip.broadvoice.com
fromuser=443430YYYY
secret=XXXXXXXX
username=4434300465
insecure=very
context=from-broadvoice
authname=443430YYYY
dtmfmode=inband
;Disable canreinvite if you are behind a NAT
canreinvite=no
;nat=yes

The XXXXXX’s are the “auth_password” from before and the ;’s are commented lines. For some reason the order of the lines is important. I struggled with that little trick for quite a while. Of course, configuration of the dial-plan is still necessary but it should be connected to BV at that point. The YYY’s and ZZZ’s are just to hide some stuff for posting to the Internet

More CallManager caveats to come…

Sharing my voice

Wow…long time no post…I’m sure I’m going to get readers at this pace! 🙂

Ok, I really do want to start updating this. I’ve been fiddling with CallManager, Unity and Asterisk and I feel compelled to share. There are some peculiarities with getting all of this working.