Unity Call Extended for Recording Fails

While implementing an Auto Attendent today, we faced a challenge as the client did not want to pay for professional recordings, and needed to implement quickly.

If you’ve done the odd AA, you’ll know that this is a pretty common requirement.  Link to the docs is here.

However, when I did this in the usual way, I faced a call failure, with Error Code 5:

error5.png

 

A pretty useless error code then!  At this point I’m pretty convinced that my CUC config is good, so really it’s time to gather SDL traces and review…

I get an immediate hit in response to the SIP INVITE:

SIP/2.0 433 Anonymity Disallowed
Via: SIP/2.0/TCP 192.168.5.6:5060;branch=z9hG4bK14fda803a44a4d418c4f8301d3fec2b5
From: sip:192.168.5.5;tag=3387e2bbf6114e90b27738f525f251d6
To: sip:0255667787@192.168.5.5;tag=331164~0d10edf8-0553-4009-a728-c065d8394e46-24136465
Date: Mon, 07 Dec 2015 08:38:09 GMT
Call-ID: fedb03ec6b74449ab2dcc8031eb18dc0@192.168.5.5
CSeq: 200 INVITE
Allow-Events: presence
Server: Cisco-CUCM11.0
Session-ID: 00000000000000000000000000000000;remote=22bfe535e32fa04bbd9367a0ab331164
Reason: Q.850; cause=21
Content-Length: 0

 

Now if you’re experienced with SIP, you’ll know that cause=21 means a call rejection – so all call routing root causes are OUT.  CUCM had the ability to route the call, and chose not to.

If we inspect this SIP message (don’t even need to go the INVITE to analyze this one), we see that head From header done not include a user portion – host only!  Something is configured on CUCM to reject the anonymous calls.  Since this is dialling to a device – the first port of call is the DN, which showed this up immediately:

css.png

 

Removing the Reject Anonymous Calls checkbox resolved this immediately.  Silly me – had this set in my User Line Template used for Self-Provisioning! 🙂

 

However… this is not really an eloquent solution.  What if we MUST have the anon rejection in place?  Also – not very useful solution on a large cluster!

The better solution lies on CUC at the source – Setting the Contact Line Name on the Port Group.

 

When this was done, I noted that this correctly updated Contact, From and privacy headers as well.

 

#dontcalltac

 

Advertisement

2 thoughts on “Unity Call Extended for Recording Fails

  1. Hi Jonathan. I’ve read a bunch of your blog posts today. Can’t believe I haven’t read it before, and to be honest I don’t recall how I happened upon it today but it’s full of great content. Really good stuff.

    It’s better now that the media master thing got migrated to webrtc or whatever, but I’m still in the habit of avoiding it as much as possible. Anyways, if there’s not a requirement for the greeting to be changed frequently, I’ve gotten in the habit of setting myself up with a mailbox and having them call me and leave the greeting in my mailbox. Then I can quickly move the message. For some reason, uploading greetings never gave me as much grief as the rest of that functionality. So recording greetings that way ensures they’re already formatted properly and it allows me to be lazy and not setup the greetings admin like I should.

    Liked by 1 person

  2. Hi Will,

    Thanks so much for the feedback. I’ve had a lot less problems with it of late. Makes sense if you’re saying they migrated it to WebRTC 🙂

    – Jonathan

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.