After a lot of analysis, I found the root cause of my issue.
The problem was that the calling number (spacename.space@CUCM_IP_Address) coming from CMS to CUCM couldn’t be translated into digits using a Calling Party Transform Mask in the Route Pattern or Route List.
As a result, the calling number was sent as blank to the voice gateway.
I worked around this by configuring a translation rule on the voice gateway dial peer that handles calls to mobile numbers, like this:
----------------------------------
voice translation-profile To-PSTN
translate calling 1
--------------------------------
voice translation-rule 1
rule 1 /^\(.*$\)/ /specific_number/
--------------------------------------
dial-peer voice XX pots
description mobile-number
translation-profile outgoing To-PSTN
------------------
This ensures that if the calling number is empty or in a non-numeric format, it’s replaced with a specific number before being sent out to the PSTN.
Hope this helps someone facing the same issue!
— MoMo