CallerID issues using SIP

I’m using voicepulse connect. Set(CALLERID(num)=whatever) works when connecting to voicepulse using IAX2, but not when using SIP. Connecting to voicepulse with IAX for the outbound trunk, I get the callerID I set. Using SIP for the outbound trunk, I get either “PRIVATE” or some New York number. Is this a problem with my configuration or Voicepulse or just the way SIP works in general?

Bump, for great justice.