When A places a call to B, an INVITE is proxied to the Sip Server from A. The Sip Server now sends another INVITE to the proxy, however the R-URI of this INVITE does not contain the port number that the INVITE is supposed to be sent to. Hence the proxy sends the INVITE to the default SIP port 5060. This port is not open in the firewall hence Softphone B never receives the INVITE.
Usually the softphones register to the proxy or SIP server. Thus, the proxy or SIP server knows under which IP:port (The IP:port from which the REGISTER was received) it can contact the sofpthone.
regards klaus