Wrong caller id issue

Hello All,

i have a IP switchboard that has sip client properties, not sip server properties. i made all configurations in my board and in asterisk. The switchboard can register to asterisk. i can make a call between my line of switchboard and my sip softphone. everything is fine. but the caller id is wrong. the switchboard sip client is 10000. my sip soft phone is 200. i am calling from number 114. but the sip soft phone shows caller is 10000. when i look the asterisk logs:

[Oct 25 09:37:37] DEBUG[2983] chan_sip.c: build_route: Contact hop: sip:[email protected];transport=UDP;user=phone
[Oct 25 09:37:37] DEBUG[2983] chan_sip.c: Incoming INVITE with ‘timer’ option supported and “Session-Expires” header.
[Oct 25 09:37:37] DEBUG[2983] chan_sip.c: Session-Expires: 43200
[Oct 25 09:37:37] DEBUG[2983] chan_sip.c: Session timer started: 502 - 6[email protected]
[Oct 25 09:37:37] DEBUG[2983] chan_sip.c: SIP/10000-00000008: New call is still down… Trying…
[Oct 25 09:37:37] DEBUG[2983] chan_sip.c: Trying to put ‘SIP/2.0 100’ onto UDP socket destined for 192.168.16.246:5060
[Oct 25 09:37:37] DEBUG[2975] devicestate.c: No provider found, checking channel drivers for SIP - 10000
[Oct 25 09:37:37] DEBUG[2975] chan_sip.c: Checking device state for peer 10000
[Oct 25 09:37:37] DEBUG[2975] devicestate.c: Changing state for SIP/10000 - state 2 (In use)
[Oct 25 09:37:37] DEBUG[2975] devicestate.c: device ‘SIP/10000’ state ‘2’
[Oct 25 09:37:37] DEBUG[2975] devicestate.c: No provider found, checking channel drivers for SIP - 10000
[Oct 25 09:37:37] DEBUG[2975] chan_sip.c: Checking device state for peer 10000
[Oct 25 09:37:37] DEBUG[2975] devicestate.c: Changing state for SIP/10000 - state 2 (In use)
[Oct 25 09:37:37] DEBUG[2975] devicestate.c: device ‘SIP/10000’ state ‘2’
[Oct 25 09:37:37] DEBUG[2976] app_queue.c: Extension ‘[email protected]’ changed to state ‘2’ (In use) but we don’t care because they’re not a member of any queue.
[Oct 25 09:37:37] DEBUG[3009] app_queue.c: Device ‘SIP/10000’ changed to state ‘2’ (In use) but we don’t care because they’re not a member of any queue.
[Oct 25 09:37:37] DEBUG[3009] app_queue.c: Device ‘SIP/10000’ changed to state ‘2’ (In use) but we don’t care because they’re not a member of any queue.
[Oct 25 09:37:37] DEBUG[12191] pbx.c: Function result is ‘0’
[Oct 25 09:37:37] DEBUG[12191] pbx.c: Expression result is ‘0’
[Oct 25 09:37:37] DEBUG[12191] pbx.c: Function result is ‘0’
[Oct 25 09:37:37] DEBUG[12191] pbx.c: Launching ‘ExecIf’
[Oct 25 09:37:37] VERBOSE[12191] pbx.c: – Executing [[email protected]:1] ExecIf(“SIP/10000-00000008”, “0?Set(__RINGTIMER=0)”) in new stack
[Oct 25 09:37:37] DEBUG[12191] pbx.c: Launching ‘Macro’
[Oct 25 09:37:37] VERBOSE[12191] pbx.c: – Executing [[email protected]:2] Macro(“SIP/10000-00000008”, “exten-vm,novm,200,0,0,0”) in new stack
[Oct 25 09:37:37] DEBUG[12191] pbx.c: Launching ‘Macro’
[Oct 25 09:37:37] VERBOSE[12191] pbx.c: – Executing [[email protected]:1] Macro(“SIP/10000-00000008”, “user-callerid,”) in new stack
[Oct 25 09:37:37] DEBUG[12191] pbx.c: Result of ‘AMPUSER’ is NULL
[Oct 25 09:37:37] DEBUG[12191] pbx.c: Expression result is ‘1’
[Oct 25 09:37:37] DEBUG[12191] pbx.c: Function result is ‘10000’
[Oct 25 09:37:37] DEBUG[12191] pbx.c: Result of ‘AMPUSER’ is NULL
[Oct 25 09:37:37] DEBUG[12191] pbx.c: Function result is ‘10000’
[Oct 25 09:37:37] DEBUG[12191] pbx.c: Launching ‘Set’
[Oct 25 09:37:37] VERBOSE[12191] pbx.c: – Executing [[email protected]:1] Set(“SIP/10000-00000008”, “AMPUSER=10000”) in new stack

you can see in the first line 114 as a sip, but ampuser is 10000 and therefore the caller id is 10000. asterisk is sending the caller id is 10000 to sip soft phone, this is wrong, true is 114.
why? how can i fix it?
ps: i tried yate windows as a sip server. it is true no problem, but asterisk is wrong

the first line:

[Oct 25 11:00:12] DEBUG[2037] chan_sip.c: build_route: Contact hop: sip:[email protected];transport=UDP;user=phone

first line is desnt’ seems in here. but it is like this:

sip:[email protected];transport=UDP;user=phone