Thank you both for your replies, from the information you provided I am confident that it now works reliably. I'm not entirely sure why my initial rules didn't work as intended but I now have two new rules that I have based on the traffic monitor logs, since I implemented the rules, all calls have been successful.
Rule 1: Allows data to pass through and connect the call on port 5060, for both incoming and outgoing calls.
From: 3rd party supplied VOIP I.P addresses, PBX IP
To: "external I.P 1 --> PBX I.P", "external I.P 2 --> I.P 2", Any-External
From: 3rd party supplied VOIP I.P addresses
To: "external I.P 1 --> PBX I.P", "external I.P 2 --> I.P 2" udp:10000, 11030
Since I implemented the rules, all of my test call have all completed successfully.