I haven’t updated for a while, due to being really fed-up with going in circles on this new phone system, so please bare with me. What follows is some hard-learned experience (and there’s certainly more of that to come) that I’d like to share with the world, as well as document for the future of course.
You could be mistaken for thinking that when sharing DNs between two SCCP ephones with Cisco’s CallManager Express software, that once a single call to that DN is answered, any other calls to the same number would still ring on an idle phone using that DN – much like a parallel hunt-group (which, for SCCP phones, is definitely missing from CME.)
But no, this just doesn’t happen. As soon as a call to a particular DN is answered on one ephone, any other ephones sharing that DN will not receive incoming calls – the original ephone locks the DN so that it is the only recipient of further calls to that DN, that is until the DN is not in use any more and only then does the ephone release control of the extension.
You could also be mistaken for thinking that specifying ‘dual line’ on the end of a DN would solve this, but it doesn’t – the second incoming call will only display as a call waiting on the ephone currently using the DN. It’s actually quite frustrating to setup a ‘simple’ parallel ring group with the required (read: correct) functionality for our primary office extension.
So I’ve concocted a dirty little hack to deliver the required functionality, which is actually based on this config snippet, andcommented it below for the benefit of anyone else experiencing the same headache.
First, you need to setup your ephone-dns:
!
ephone-dn 1 dual-line
number 1000
no huntstop
ephone-dn-template 1
!
!
ephone-dn 2 dual-line
number 1000
preference 1
huntstop channel
no huntstop
ephone-dn-template 1
!
The are some important things to note here are; firstly these are two separate DNs, but they are both set to ring with the same extension.
The ‘preference 1′ value in ephone-dn 2 forces the preference of that DN to a value lower than ephone-dn 1 (which has the default preference of 0 – lower value = higher preference) – this makes sure that hunting for number 1000 will always look towards ephone-dn 1 first.
The ‘huntstop channel’ command on ephone-dn 1 stops CME from placing a call in waiting to the first extension, when it’s already in use. If this isn’t configured, CME will see that there is a free line on the DN and simply queue up the call there, instead of pushing it to the next-preferred DN. You could just not use dual-line DNs to save yourself the trouble, but I didn’t want to limit our functionality in any way and has proven to be just as good.
Note that I have omitted ‘huntstop channel’ on our second DN, as it is unlikely that we will receive three consecutive incoming calls, but in that possible scenario, it is acceptable for the call to queue up as a call-waiting on the second DN. This is purely to avoid giving any of our customers busy signals! Of course, you should have configured ‘call-forward noan’ on these DNs so that un-answered calls are forwarded to voicemail.
Finally, the ‘no huntstop’ command prevents CME’s extension hunt from halting at the first DN, should the DN be busy with another call. If this is not configured, CME will examine the first DN, see that it is busy, and simply send a busy tone back to the caller – not at all useful. Using no huntstop will mean that if the preferred DN is busy, other DNs with the same extension will also be considered during the hunt.
When setting up your ephone configuration, the choice is yours. However, since all our staff are using Cisco 7960 phones, and have a number of blf-speed-dial lines as well as requiring the use of a DDI extension and 2 or more shared extensions – overlay buttons were chosen for efficiency.
!
ephone 1
device-security-mode none
description Tom's Phone
mac-address 0123.4567.89AB
ephone-template 1
blf-speed-dial 2 1002 label "Extension 1002"
blf-speed-dial 3 1003 label "Extension 1003"
blf-speed-dial 4 1004 label "Extension 1004"
blf-speed-dial 5 1005 label "Extension 1005"
type 7960
button 1o1001,1,2
!
So in this example, we have an ‘o’ type button defined, with 1001 (a DDI extension) as the primary line and our ring group extensions hiding behind it. If you were to press the corresponding button for this line, on your phone, CME would pick the first available line that isn’t in use (which should be your primary DDI extension… Unless you let someone share it!
)
Note: ‘Busy Line Field’ speed dials aren’t available on anything prior to CME 4.1, but they sure are bloody useful.
Anyway, hopefully that’s helpful – I’d be very happy to know if it’s helped, so all comments are welcome!