Problem:
1) The call invite comes into the CUBE from ITSP.
2) A call invite is sent from the CUBE to the CUCM.
3) CUCM looks up the number, find that it is unassigned at replies to the CUBE with a SIP 404 (number not found).
4) The CUBE looks for alternative matches in the dial-peers and matches against an outbound rule.
5) A call invite is then sent outbound from the CUBE to ITSP.
6) ITSP send the invite back into the CUBE.
7) The CUBE detects based upon the SIP call ID that it is a duplicate call.
8) The outbound call on the CUBE is dropped, and the inbound call is replied to by the CUBE with a 504 (internal server error)
Solution:
Cisco CUCM and CUBE by default do not drop a call when it receives a 486 busy, 404 not found or out of bandwidth. They reroute for all cause codes other than Out of Bandwidth, User Busy, and Unallocated Number.
For CUCM, the value of the associated service parameters for the Cisco Call Manager service determines the rerouting decision for those cause codes. The Cluster wide Parameters (Route Plan) : Stop Routing on Out of Bandwidth Flag, Stop Routing on User Busy Flag, and Stop Routing on Unallocated Number Flag service parameters, determines what re-routing decision happens in this scenario.
All well and good fro CUCM, but what about CUBE...
We can also tell CUBE what to do in this circumstances just as with CUCM. The magic is to use the voice hunt command
#conf t
no voice hunt unassigned-number
no voice hunt invalid-number
no voice hunt user-busy
also,
Your CSS on the gateway in CUCM should not have access to any patterns pointing back to the voice gateway. That's a toll fraud as well as a call loop vulnerability if you have it set up that way.
Your trunk CSS shouldn't have access to that route pattern.
Reference: (Collected)
https://supportforums.cisco.com/discussion/12005196/cucm-returns-internal-service-error-un-allocated-numbers
https://supportforums.cisco.com/blog/12153411/sip-musings-and-other-matters
No comments:
Post a Comment