public SIPDialogue Answer(string contentType, string body, string toTag, SIPDialogue answeredDialogue, SIPDialogueTransferModesEnum transferMode) { try { if (m_uasTransaction.TransactionFinalResponse != null) { return(null); } else { if (UASStateChanged != null) { UASStateChanged(this, SIPResponseStatusCodesEnum.Ok, null); } if (!toTag.IsNullOrBlank()) { m_uasTransaction.SetLocalTag(toTag); } SIPResponse okResponse = m_uasTransaction.GetOkResponse(m_uasTransaction.TransactionRequest, m_uasTransaction.TransactionRequest.LocalSIPEndPoint, contentType, body); if (body != null) { okResponse.Header.ContentType = contentType; okResponse.Header.ContentLength = body.Length; okResponse.Body = body; } m_uasTransaction.SendFinalResponse(okResponse); m_sipDialogue = new SIPDialogue(m_uasTransaction, m_owner, m_adminMemberId); m_sipDialogue.TransferMode = transferMode; return(m_sipDialogue); } } catch (Exception excp) { Logger.Logger.Error("Exception SIPServerUserAgent Answer. ->" + excp.Message); throw; } }