Patching external to external long delay

I am having an issue I am puzzled with.

When I dial out from local sip and terminate via our sip trunk to a Cell phone I get very little delay (about 1/2 of a second).

All other traffic from local sip to land lines is not noticable < 1/5 of a second, so I can confirm the issue is not routing to our sip trunk provider (I have tried numerous different trunks with all the same result that are very reputable).

Anyway This is fine as the delay is not long enough to cause any issue, but here is the big issue. We have needs to patch External to External.

The big issue is when doing so if we are patching a cell phone to a cell phone. Our asterisk box originates to the cell phone first, then connects to the other cell phone (so basically it is calling one cell phone, then using a dial command to call the other cell phone). We should have a 1 second delay (1/2 second for each of the outgoing routes), but we actually get about a 2 second???

Anyone have any idea why patching the two external cell phones do this?

Basically it’s just a simple dial plan where I would originate the chanel SIP/630MYCELLPHONE/myprovider) to the mycontext listed below

exten => s,1,Answer()
exten => s,2,Dial(SIP/6305555555/myprovider)

Any ideas?