private SIPRequest GetByeRequest(SIPEndPoint localSIPEndPoint)
{
SIPRequest byeRequest = new SIPRequest(SIPMethodsEnum.BYE, RemoteTarget);
SIPFromHeader byeFromHeader = SIPFromHeader.ParseFromHeader(LocalUserField.ToString());
SIPToHeader byeToHeader = SIPToHeader.ParseToHeader(RemoteUserField.ToString());
int cseq = CSeq + 1;
SIPHeader byeHeader = new SIPHeader(byeFromHeader, byeToHeader, cseq, CallId);
byeHeader.CSeqMethod = SIPMethodsEnum.BYE;
byeRequest.Header = byeHeader;
byeRequest.Header.Routes = RouteSet;
byeRequest.Header.ProxySendFrom = ProxySendFrom;
SIPViaHeader viaHeader = new SIPViaHeader(localSIPEndPoint, CallProperties.CreateBranchId());
byeRequest.Header.Vias.PushViaHeader(viaHeader);
return byeRequest;
}