Why no streamhost-used confirm from openfireserver when try to start a file transfer negotiation?

Hi, guys,
I am trying to test Openfire file proxy transfer feature with my client. It goes well until I send the stream host to Target like:

<iq from='%s' 	id='%s' to='%s' type='set'>
  					<query xmlns='http://jabber.org/protocol/bytestreams'
         				sid='vxf9n471bn47'>
    					    <streamhost host="172.20.10.7" jid="proxy.laptop-d5d42j5u" port="7777"/>
  					</query>
				</iq>

I expected to receive a packet like :

<iq from='target@example.org/bar'
    id='npq71g53'
    to='requester@example.com/foo'
    type='result'>
  <query xmlns='http://jabber.org/protocol/bytestreams'
         sid='vxf9n471bn46'>
    <streamhost-used jid='streamer.example.com'/>
  </query>
</iq>

but as this point, the server throw a exception. I check the error lines. Openfire server try to get the activate element in xml packet. That is not follow the xep-0065? I even found string “streamhost-used” from Openfire server code, no such string found!
Could anyone tell me more about this issue, thanks a lot!