Well, first, what network interface is set as the "Published IP Address" setting in your BCM ? You can find that setting in the Unified Manger -> Services -> IP Telephony -> Global IP Settings Page.
For this device designated in the "Published IP Address" assigned primary IP address must be the S1 (and/or S2) IP address programmed into the VoIP phone. Changing the IP address of a BCM interface, and/or changing the interface designated in the "Published IP Address" requires a full reboot of the BCM. You can change both in one single reboot.
Secondly, The only way I have ever been able to establish 'reliable' connectivty between a VoIP phone on the other side of the Internet and a BCM is via a VPN tunnel.
As an experiment I toggled back and forth between using a VPN and not using a VPN. With not using a VPN tunnel I got lucky and was able to make a connection, but I could not get dialtone 9 out of 10 times. I could login to F981 Voice Mail, but couldn't hear anything. As soon as I connected through a VPN everything cleared right up and I got dialtone everytime.
I checked how many Internet hops there were and found something like 12 hops. When the VoIP phone talks to the BCM thousands and thousands of itty bitty UDP packets are generated. Probably most of these are lost or jumbled up or arrive out of order or arrive late by the time they get across the Internet. But with a VPN tunnel a whole bunch of the VoIP packets are grouped together and encrypted into as large of a VPN packet as possible, therefore you get more of the VoIP packets through, and in order, and on time, if you do use a VPN tunnel.
Create the VPN tunnel, it'll work alot better compared to if you don't.
Marc