I may be overthinking this but can't figure out the best way to do this. We have 2 SIP trunks out to the PSTN. I have to send a specific caller ID out each trunk. For example a certain DID range belongs to trunk 1 and another range belongs to trunk 2. I am using standard local route groups and routing calls based on the device pools to either SIP trunk. This has worked great up until an employee tried to use extension mobility at a site that uses trunk 2. We have a failover in place so that if the call fails trunk 1 it will go out trunk 2 and we will force the correct external caller ID to make the call work. The problem is since the device he is using is in another location it's using the device pool to route the call to trunk 2. He is logged in with ext mob and his external caller ID is required to route out trunk 1 so the call is failing over and forcing caller ID from trunk 2. How do I route these calls when people use extension mobility?
I think I might have just solved this or figured out best practice for this scenario. I could simply remove the device CSS so all call routing will happen with the line/extension mobility profile signed into the phone instead correct? Or is there a way to make the line CSS be processed first before the device CSS?
Line and device CSS content is concatenated by the CUCM at the time of the call with the content in the line CSS put as highest order in the virtual CSS created on the fly. Remember that call routing lookup process always selects the best match from the present partitions in the CSS. By this and from your second post you likely have a better match in the device CSS that takes precedence over the pattern(s) you have in the line CSS. To achieve what you ask about you’d be needed to re-engineering your call routing setup and move all except emergency calling to the line CSSs. This is covered in details in SRND.
Thank you for the information. It appears this is still not working as expected. I removed everything from the device CSS however, the call still routes to the incorrect gateway based on the device pool standard local route group despite extension mobility being used/signed into on this phone. Is there a way to make it use the line CSS (extension mobility) instead of the standard local route group based on the device pool of the phone?
Not to my knowledge. When you use standard local route to route the call it will look at the device pool of the device and that's not modified by extension mobility login. To do what you want you'd have to drastically rethink your setup or allow calls out via the SIP trunk for the other number range. Possibly that could be done by adding information to the SIP header, like Diversion and/or P-Asserted-Identity.
Try do add this to your setup.
voice class sip-profiles 10
request INVITE sip-header Diversion modify "Diversion:(.*)(<sip:)(.*)(@.*>)" "Diversion: \2+local number to send to ITSP\4"
request INVITE sip-header Diversion add "Diversion: <sip:local number to send to ITSP@IP address to send to ITSP>"
dial-peer voice your dial peer number voip
voice-class sip profiles 10