Are you using both Communicator and Messenger to connect to Office Communications Server?
If you're external the connection port is TCP 443, if you're internal it's typically 5061.
Now, communicator uses something called DNS auto-discovery to work out how to connect. From Communicator, go to preferences, and look under 'Account'.
Down the bottom you'll see 'My Network Settings'. That will tell you how it's trying to connect.
If it's on Automatic then it will use DNS lookups, if it's on manual you specify the server host to connect to - including the port if it's
not TCP 5061. For example - host to connect externally would be something like:
sip.company.com:443 (This would NOT work internally)
If it were configured for internal connections it would be something like:
sip.company.com
If it's on automatic...well, then it could be your DNS auto-discovery isn't working properly.
Could you find out how the windows clients have been configured? On Communicator on the PC you see you can specify BOTH the internal AND the external access points. Using the above example you'd specify it as follows:
Internal: sip.company.com
External: externalsip.company.com:443
Also, for the internal system chances are you're using an internally published certificate - you'll need to download and install that root certificate too.
Getting Communicator to connect isn't that hard - but the problem is there's a lot of flexibility in the infrastructure..... which of course means there's lots of ways to configure the client.
If you want to get a feel for how the access point is discovered have a read of this:
http://www.markc.me.uk/MarkC/Blog/Entries/2010/1/21OCS_and_External_DNS_for_your_SIPDomain.html
If you can find out how the Windows clients are configured, I should be able to tell you how to configure the Mac Communicator client.