CallerID not shown on Budgetone 200

I have set 3 extensions on Asterisk 1.2.16. Two of them are used with Xlite and one with a Grandstream BT200. When I call from the BT200 the other 2 extensions I can see the callerid. If I call BT200 from one of the 2 extensions with Xlite, the BT200 shows on display his extension number (400) instead of the caller’s number.

I also have set 3 geographic numbers and the calls on these numbers are transferred to the extension 400 (BT200). On the BT200’s display I see always his extension number: 400

In sip.conf I have:

[400]
type=friend
host=dynamic
context=default
dtmfmode=info
nat=yes
reinvite=no
canreinvite=no
qualify=4000
disallow=all
allow=ulaw
username=400
fromuser=400
callerid=“fdfdfdf” <400>
secret=passwd

[401]
type=friend
host=dynamic
nat=yes
reinvite=no
canreinvite=no
qualify=4000
disallow=all
allow=ulaw
username=401
fromuser=401
callerid=“dsdsd” <401>
secret=passwd

[402]
type=friend
host=dynamic
nat=yes
reinvite=no
canreinvite=no
qualify=4000
disallow=all
allow=ulaw
username=402
fromuser=402
callerid=“asas” <402>
secret=passwd

In extensions.conf I have:

exten => 400,1,Dial(SIP/400,30,r)
exten => 401,1,Dial(SIP/401,30,r)
exten => 402,1,Dial(SIP/402,30,r)

In the console I have:

== Parsing ‘/jffs/etc/asterisk/sip_notify.conf’: Found

-- Executing Dial("SIP/401-005483d0", "SIP/400|30|r") in new stack

-- Called 400

-- SIP/400-0054d918 is ringing

== Spawn extension (default, 400, 1) exited non-zero on ‘SIP/401-005483d0’

So, the number of the extension is correctly identified in the CLI …

How it would be possible to solve this error?

Thanks in advance

I’ve found the problem:

in misdn.conf I had to put:

presentation=1
screen=1

Then I had to cut from the extension fromuser= xxx statement