We have a customer who is having issues with provisioning LUNS over the RPC protocol with snapdrive, it keeps timing out on them, however if we try and provision them over HTTP or HTTPS we have no issues at all. The caveat here is that HTTP and HTTPS are much slower than RPC. Something else I came across is that it looks like the RPC protocol is using port 443 as well as sometimes it's using port 0? I thought it was supposed to auto-negotiate ports but I didn't think it would use 443 or 0? Any insight would be greatly appreciated.
Your client (source side) will use a randomly-assigned port when communicating via RPC. The server (destination) will use a standard port established by the protocol RPC is using. As a test, I tried Snapdrive and from what I can see it's using Named Pipes (port 445).
I'm not sure why you're seeing 443 and 0. I know it's very common to block port 445 on the external side, but is it possible you have a firewall between your client server and the controller that is blocking port 445?