Iax trunk with 3 hosts

Good morning to all,
i’m having strange prioblem connecting 3 asterisk box toghether with iax trunk.

All trunks are up and working with this configuration:
Server A: Iax trunk with Server B and Server C
Server B: Iax trunk with Server A and Server C
Server C: Iax trunk with Server A and Server B

If i call from Server A to Server B all is working fine.
If i call from Server A to Server C the first one tells me that the calling starting corerctly from Server A while the last one tells me that the calling is arriving from Server B.
If i call from Server B to Server C all is working fine.

It’'s a very strange behaviour and i cannot understand why it happens.

This is my configuration:

Server A:
iax.conf:

[general]
autokill=yes
register => SERVERA:password@IP_address
register => SERVERA:password@IP_address
parkinglot=general
calltokenoptional=0.0.0.0/0.0.0.0
maxcallnumbers = 16382
requirecalltoken=no
auth=md5
encryption=aes128
disallow=all
allow=gsm
allow=alaw
allow=ulaw
allow=h263
language=en
dtmfmode=auto
canreinvite=yes
mohinterpreter=default
mohsuggest=default
allowguest=no
qualify=yes
directmedia=yes
videosupport=yes

[SERVERB]
type=friend
host=dynamic
qualify=yes
trunkfreq=20
jitterbuffer = yes
maxjitterbuffer = 500
dropcount = 2
maxexcessbuffer = 80
jittershrinkrate = 1
trunktimestamps = yes
transfer = yes
secret=password
context=internal-trunk

[SERVERC]
type=friend
host=dynamic
qualify=yes
trunkfreq=20
jitterbuffer = yes
maxjitterbuffer = 500
dropcount = 2
maxexcessbuffer = 80
jittershrinkrate = 1
trunktimestamps = yes
transfer = yes
secret=password
context=internal-trunk

N.B:
In the other server we have the same configuration

extensions.conf:

[internal-trunk]
exten => _6[0-1]XXX,1,NoOp(Calling from ServerB and ServerC to Server A)
exten => _6[0-1]XXXn,Playback(hello-world)
exten => _6[0-1]XXX,n,Hangup()

[to_ServerB]
exten => _630XX,1,NoOp(Calling from ServerA to ServerB)
exten => _630XX,n,Dial(${OUTBOUNDTRUNK_ServerB}/${EXTEN},50,rt)
exten => _630XX,n,Hangup()

[to_ServerC]
exten => _631XX,1,NoOp(Calling from ServerA to ServerC)
exten => _631XX,n,Dial(${OUTBOUNDTRUNK_ServerC}/${EXTEN},50,rt)
exten => _631XX,n,Hangup()

[employees]
include => to_ServerB
include => to_ServerC

SERVER B:
iax similar:

extensions.conf:

[internal-trunk]
exten => _630XX,1,NoOp(Calling from ServerA and ServerC to Server B)
exten => _630XX,n,Playback(pbx-invalid)
exten => _630XX,n,Hangup()

[to_ServerC]
exten => _631XX,1,NoOp(Calling from ServerB to ServerC)
exten => _631XX,n,Dial(${OUTBOUNDTRUNK_ServerC}/${EXTEN},50,rt)
exten => _631XX,n,Hangup()

[to_ServerA]
exten => _6[0-1]XXX,1,NoOp(Calling from ServerB to ServerA)
exten => _6[0-1]XXX,n,Dial(${OUTBOUNDTRUNK_ServerA}/${EXTEN},50,rt)
exten => _6[0-1]XXX,n,Hangup()

[employees]
include => to_IT_DBGVOIPGTW
include => to_IT_LONGARONE

SERVERC:
similar to Server A and Server B.

Sorry,
forgotten to say my asterisk version.

version for all 3 hosts is 10 but i have the same issue in 1.8

Thank you