Ok, I found the solution...
The problem was that BEFORE processing the OutboundCallRoute in the phone port, the digitMap of the Service provider is applied. That is stated in the manual:
Note that every endpoint also has a digit map defined. The user dialed number is completely processed with the endpoint’s
digit map first before it is passed to the OutboundCallRoute for routing decision. Therefore the number used for matching
call routing rules has already incurred the transformations, if any, implied by the digit map. Remember this fact when
crafting your own OutboundCallRoute.
The point is that the default digitMap for Google Voice (ITSP Profile A - general) is the following:
(1xxxxxxxxxx|<1>[2-9]xxxxxxxxx|011xx.|xx.|(Mipd)|[^*#]@@.)
So, when dialing an Italian cell phone number, i.e. 3295788900, it is prepended with "1"
BEFORE being processed by OutboundCallRoute, which results in an "invalid" (0039
13295788900) dialed number.
I removed <1>[2-9]xxxxxxxxx from the digitMap of ITSP Profile A and it worked.