Get message ok by MessageSend() from asterisk rather then sending peer callerid

Hello everyone,
I’m having hard time fixing a problem regarding sending SIP message with MessageSend(). My message send ok to a peer but it come from asterisk, not from peer who sending that. In my case
peer tom_1 sending SIP message to test1 peer but test1 peer receiving that message from asterisk not from tom_1, so test1 peer don’t know who actually sending that message. I tried to set callerid but didn’t success.
Please help me solve the problem.
Thanks in advance.

[messages]
exten => _01.,n,MessageSend(sip:test1,sip:tom_1)
exten => _01.,n,NoOp(Message send status: ${MESSAGE_SEND_STATUS})
exten => _01.,n,Hangup()