The provider should not care about the user part of the contact; they should simply return the whole value, as the request URI, when sending incoming calls to you. Unfortunately, some providers try and extract account information from it, so there is a Contact User setting that allows you to control it.
As already described, the default is to use the user part of the request URI as the “DID”. Sometimes the real “DID” will be in the To header, and there is an alternative initial context, from-pstn-toheader, to handle that case. However you haven’t got that far, if the REGISTER is being rejected.