Sunday, August 26, 2012

CME Call Hunting

Call hunting means that a single number can be reached using multiple DNs. It can be provided using the following approaches:

  1. Shared Lines
  1. Multiple DNs with same extension
  1. Hunt Groups

The first two methods were covered previously. Therefore we will be covering the third one which is Hunt Groups.

Hunt Groups
Hunt groups is a mechanism of distributing calls among a group of phones.  There are different types of hunting within a group:

  1. Sequential: Each extension number in the group is tried in turn starting from group beginning. If the end of the group is reached without finding an available number, the call is forwarded to a number configured as a final destination.
  2. Peer mode: This gives a circular list of extension numbers. The starting point in the list for a new call is set by the last number answered the preceding call.
  3. Longest Idle: This also gives a circular list of extension numbers. The starting point in the list for a new call is set by the number that has been on-hook for the longest period of time
  4. Parallel: All the numbers in the group rings simultaneously.

Important Note: For types A, B, and C the number of extensions within hunt group should be less than max-redirect setting in telephony-system.

Similarly there are different types of hunt groups:
Note: You can do call-transfer and call forwarding to hunt-group pilot.

Phones can be assigned to hunt groups statically or dynamically. In dynamic mode, the group will contain wild cards instead of static phones. Phone user should be given a permission to occupy a slot within the group. In this case, the user will dial the standard or custom FAC code to join a hunt group or leave it. In case all slots are occupied, the next user will hear a busy tone.

Note: The standard FAC code to join hunt group is *3(Hunt-Group-Pilot) while the standard code to leave is #3.

Also, the phone users can be given the control to change their states whether ready or not-ready. This can be achieved using HLog softkey or DND softkey. The difference between them is that HLog not-ready will stop forwarding hunt-group calls to the user but still other calls will ring the phone. DND not-ready will stop all types of calls from ringing the phone.

Note: If the user is in not-ready state, still the hunt-group slot will remain occupied for him

Configuration Template

ephone-hunt hunt-tag {longest-idle | peer | sequential}
 pilot number [secondary number]
 list {number[, number...] | *[,*…]}          !!!... The wild-card is used to create dynamic slots in the hunt-group. Also, dynamic slots can be mixed with static numbers
 final final-number          !!!... Set the final number to redirect the call in case not answered by hunt-group. THIS COMMAND IS IGNORED IN B-ACD.
 hops number          !!!... Define the number of hops before the call is redirected to final number. THIS IS APPLICABLE FOR PEER AND LONGEST IDLE HUNTING ONLY
 timeout seconds[, seconds...]          !!!... If not defined, the value of timeouts ringing command is used which is configured under telephony-service.
 max-timeout seconds
 preference preference-order [secondary secondary-order]          !!!... This value applies to pilot number
 no-reg [both | pilot]
 fwd-final {orig-phone | final}
 no forward local-calls          !!!... For calls from local DNs to Hunt-Pilot, you can limit hunting to first DN only. Call won't be forward to other DNs in the Hunt-List. APPLIES TO SEQUENTIAL HUNTING ONLY
 present-call {idle-phone | onhook-phone}
 description text-string
 auto-logout number          !!!... Define the number of unanswered calls before the agent automatically moves to not-ready state
 hunt-group logout           !!!... To specify whether auto logout members should be in HLog not-ready state or DND not-ready state
 display-logout text-string          !!!.. Defines the string to be displayed on agents phones when all of them are in not-ready state
 max-redirect number
 hunt-group logout {DND | HLog}
 fac {standard | [custom number]}
ephone-dn dn-tag
 ephone-hunt login          !!!... Enables dynamic hunt-group membership
voice hunt-group hunt-tag [longest-idle | parallel | peer | sequential]
 pilot number [secondary number]
 list number
 final number
 preference preference-order [secondary secondary-order]
 hops number
 timeout seconds          !!!... This value is per-phone in the list not the total timeout value


  1. You can redirect the call to a pilot of another hunt-group. In this case, the pilot of first hunt-group can't be used as final number in any of the other hunt-groups
  2. In case hop command as well as max-timeout command are used together, the one reached first is used
  3. The same pilot can't be shared between voice hunt-group and ephone hunt-group.
  4. Voice hunt-group pilot can't be expanded using dial-pattern command which isn't the case for ephone hunt-group pilot. To overcome this, configure the secondary pilot number in E164 format
  5. By default, in dual-line mode, call will be hunted to secondary line in case first is busy. This is undesirable behavior especially when hunt-list is made of the primary numbers for different DNs. It recommended to use huntstop channel for each member.
  1. Call-Forward settings for individual members are ignored for calls to hunt-pilot. How??

When hunt-group is created , CME will create a dial-peer for the pilot DN as well as new dial-peer for each member in the hunt-list. While hunting, CME will use those dial-peers instead of original DNs ones. Therefore, any forwarding settings or other settings on individual DNs will be ignored.

In below example, pilot number is 10001. Notice the destination pattern for each member.

CME-1#sh dial-peer voice summary
dial-peer hunt 2
             AD                                    PRE PASS                OUT
20001  pots  up   up             5001$              1                           50/0/1
20002  pots  up   up             5002$              2                           50/0/1
20008  pots  up   up             A10001A0000        2                           50/0/1
20009  pots  up   up             10001              2                           50/0/0
20010  pots  up   up             A10001A0001        2                           50/0/1


  1. Could you be so kind and share some links to other sources that open up this theme just in case you know any.

  2. Hi Lillian, I really don't have specific sources but definitely will share in case I get something handy.

  3. Hi - thanks for this useful and helpful tips. I just have a question, is there a way that we can differentiate between calls received on the hunt-group and calls received on the actual user extension. Thanks in advance.



R1 …………………………………………………………………………………………………………………………………………… vrf definition dmvpn  !  address-family ipv4  exit-addre...