Call destination by CID inside IVR

Let’s say IVR message says "press two for technical assistance"
Once “2” is pressed how a call can be forwarded to extension “a” or extension “b” based on its CID ??

Thank you

Third party module Dynamic Routes does this:

Thank you for suggestion !

In case I need to route an incoming call based on its CID, is there any other way than “CallerID number” field in incoming routes ??
Let’s say I have to recognize thirty CID to route to thirty different destinations, should I configure thirty inbound routes with same DID and different CID ??
In this case does a sort of “bulk inbound routes” exist ?
Would Dynamic Routes still be a solution ?

Thanks