internal override StateResult HandleResponse(SipInviteClientTransaction ctx, SipResponse response) { var statusCode = response.StatusLine.StatusCode; if (statusCode >= 100 && statusCode < 200) { return(new StateResult() { InformToUser = true }); } if (statusCode >= 200 && statusCode < 300) { ctx.ChangeState(SipInviteClientTransaction.TerminatedState); return(new StateResult() { InformToUser = true, Dispose = true }); } if (statusCode >= 300 && statusCode < 700) { ctx.ChangeState(SipInviteClientTransaction.CompletedState); ctx.SendAck(); return(new StateResult() { InformToUser = true }); } return(new StateResult()); }
internal override StateResult HandleResponse(SipInviteClientTransaction ctx, SipResponse response) { var statusCode = response.StatusLine.StatusCode; if (statusCode >= 100 && statusCode < 200) { ctx.ChangeState(SipInviteClientTransaction.ProceedingState); return new StateResult() {InformToUser = true}; } if (statusCode >= 200 && statusCode < 300) { ctx.ChangeState(SipInviteClientTransaction.TerminatedState); return new StateResult() {InformToUser = true, Dispose = true}; } if (statusCode >= 300 && statusCode < 700) { ctx.ChangeState(SipInviteClientTransaction.CompletedState); ctx.SendAck(); return new StateResult() {InformToUser = true}; } return new StateResult() {}; }