diff --git a/src/core/meshcop/joiner_router.cpp b/src/core/meshcop/joiner_router.cpp index d04564a82..dd91b1f76 100644 --- a/src/core/meshcop/joiner_router.cpp +++ b/src/core/meshcop/joiner_router.cpp @@ -167,15 +167,12 @@ void JoinerRouter::HandleUdpReceive(Message &aMessage, const Ip6::MessageInfo &a SuccessOrExit(error = GetBorderAgentRloc(borderAgentRloc)); - VerifyOrExit((message = mSocket.NewMessage(0)) != NULL, error = kThreadError_NoBufs); - message->SetPriority(kMeshCoPMessagePriority); - header.Init(kCoapTypeNonConfirmable, kCoapRequestPost); - header.SetMessageId(0); - header.SetToken(NULL, 0); + header.SetToken(Coap::Header::kDefaultTokenLength); header.AppendUriPathOptions(OPENTHREAD_URI_RELAY_RX); header.SetPayloadMarker(); - SuccessOrExit(error = message->Append(header.GetBytes(), header.GetLength())); + + VerifyOrExit((message = mNetif.GetCoapClient().NewMeshCoPMessage(header)) != NULL, error = kThreadError_NoBufs); udpPort.Init(); udpPort.SetUdpPort(aMessageInfo.GetPeerPort()); @@ -213,7 +210,7 @@ void JoinerRouter::HandleUdpReceive(Message &aMessage, const Ip6::MessageInfo &a messageInfo.GetPeerAddr().mFields.m16[7] = HostSwap16(borderAgentRloc); messageInfo.SetPeerPort(kCoapUdpPort); - SuccessOrExit(error = mSocket.SendTo(*message, messageInfo)); + SuccessOrExit(error = mNetif.GetCoapClient().SendMessage(*message, messageInfo)); otLogInfoMeshCoP("Sent relay rx");