Michael,
Crossing the firewall can introduce all sorts of issues including changed port numbers, blocked dynamic incoming ports, and most importantly the IP address mismatch inside and outside. As I understand you took care of the ports in your office, you need to do the same in the remote home-office because all SOHO broadband modems to modify the ports if single IP is shared.
If it does not solve the issue, you need to solve the IP address translation issue. When you make a call to the remote IP phone, the calling phone's private IP address (10.x.x.x or 192.168.x.x or 172.16.x.x) get's translated to your modem's external IP address assigned by the broadband service provider, let's say 33.33.33.33. The home office phone is also using a private IP address (10.x.x.x or 192.168.x.x or 172.16.x.x). Now the issue> The SIP invite or H323 setup message etc contains the IP address of the phone in theVOIP protocol message. This IP address is private IP address (10.x.x.x or 192.168.x.x or 172.16.x.x) which cannot be routed over the internet! See if your IP PBX supports STUN protocol. STUN helps overcome this private IP address issue, and instead it uses your external IP address 33.33.33.33 in the voip protocol messages.
Safest method is to setup a permanent VPN connection between your office and the remote home-office. This will provide a tunnel between two locations and they will behave as if they are in the same LAN. This eliminates all firewall issues, because there won't be any NAT/PAT, both offices will be in the same subnet as if there is no internet in between.
If you setup a permanent VPN, make sure you enable Split Tunnel on the remote home-office. This will allow the home-office PC to exit to the internet fromits local broadband router. Without split tunnelling, remote home-office PC has to cross the VPN tunnel and browse internet from the office broadband connection.
Hope this helps.