Your config is a tad unconventional. If you asked me for directions from here, then I would be tempted to say "well I would not have started from here"
sp1 is your Primary Line, so any number you dial with no ** codes will be first processed there. This means that if you dial 01234567890 it will be processed by the only rule in Msp1 that can match it "xx." This is where your ten second delay is coming from. After the ten second delay your Phone Port OutboundCallRoute will route it correctly. If you remove xx. from Msp1, then lots of numbers will stop working.
Long term I would reconfigure in a conventional modular way - I bore users to death with this view. If you leave the Phone Port DigitMap and OutboundCallRoutes both more or less at default values, they will do all the work for you. I will now get off my high horse
Short term you might consider making both Primary Lines SP2 Service. Take 999/112 out of the sp1 digitmap and put them in both Phone Port OutboundCallRotes - {(999|112):sp1}, ... I'm assuming that you have 999|112 in the Phone Port DigitMap as individual numbers.
Then put 00xx.S4 in sp2 DigitMap to allow for variable length international numbers. The S4 will limit the delay to four seconds.
I'm tempted to say get rid of both xx. rules as they do match anything and so confuse things when testing any config. If you do that, then you have to be sure that your digit maps match any number you may dial.