private async Task <SocketError> UACInviteTransaction_TransactionInformationResponseReceived(SIPEndPoint localSIPEndPoint, SIPEndPoint remoteEndPoint, SIPTransaction sipTransaction, SIPResponse sipResponse) { try { if (sipResponse.StatusCode > 100 && sipResponse.StatusCode <= 199) { if (sipResponse.Header.RSeq > 0) { // Send a PRACK for this provisional response. PRackRequest = GetPRackRequest(sipResponse); await SendRequestAsync(PRackRequest); } } if (CDR != null) { SIPEndPoint localEP = SIPEndPoint.TryParse(sipResponse.Header.ProxyReceivedOn) ?? localSIPEndPoint; SIPEndPoint remoteEP = SIPEndPoint.TryParse(sipResponse.Header.ProxyReceivedFrom) ?? remoteEndPoint; CDR.Progress(sipResponse.Status, sipResponse.ReasonPhrase, localEP, remoteEP); } return(await UACInviteTransactionInformationResponseReceived?.Invoke(localSIPEndPoint, remoteEndPoint, sipTransaction, sipResponse));; } catch (Exception excp) { logger.LogError("Exception UACInviteTransaction_TransactionInformationResponseReceived. " + excp.Message); return(SocketError.Fault); } }
public new Task <SocketError> SendProvisionalResponse(SIPResponse sipResponse) { try { CDR?.Progress(sipResponse.Status, sipResponse.ReasonPhrase, null, null); return(base.SendProvisionalResponse(sipResponse)); } catch (Exception excp) { logger.LogError("Exception UASInviteTransaction SendProvisionalResponse. " + excp.Message); throw; } }
public override void SendProvisionalResponse(SIPResponse sipResponse) { try { base.SendProvisionalResponse(sipResponse); CDR?.Progress(sipResponse.Status, sipResponse.ReasonPhrase, null, null); } catch (Exception excp) { logger.LogError("Exception UASInviteTransaction SendProvisionalResponse. " + excp.Message); throw; } }
public override void SendInformationalResponse(SIPResponse sipResponse) { try { base.SendInformationalResponse(sipResponse); if (CDR != null) { CDR.Progress(sipResponse.Status, sipResponse.ReasonPhrase, null, null); } } catch (Exception excp) { logger.Error("Exception UASInviteTransaction SendInformationalResponse. " + excp.Message); throw; } }
private void UACInviteTransaction_TransactionInformationResponseReceived(SIPEndPoint localSIPEndPoint, SIPEndPoint remoteEndPoint, SIPTransaction sipTransaction, SIPResponse sipResponse) { try { UACInviteTransactionInformationResponseReceived?.Invoke(localSIPEndPoint, remoteEndPoint, sipTransaction, sipResponse); if (CDR != null) { SIPEndPoint localEP = SIPEndPoint.TryParse(sipResponse.Header.ProxyReceivedOn) ?? localSIPEndPoint; SIPEndPoint remoteEP = SIPEndPoint.TryParse(sipResponse.Header.ProxyReceivedFrom) ?? remoteEndPoint; CDR.Progress(sipResponse.Status, sipResponse.ReasonPhrase, localEP, remoteEP); } } catch (Exception excp) { logger.Error("Exception UACInviteTransaction_TransactionInformationResponseReceived. " + excp.Message); } }
private async Task <SocketError> UACInviteTransaction_TransactionInformationResponseReceived(SIPEndPoint localSIPEndPoint, SIPEndPoint remoteEndPoint, SIPTransaction sipTransaction, SIPResponse sipResponse) { try { if (sipResponse.StatusCode > 100 && sipResponse.StatusCode <= 199) { if (sipResponse.Header.RSeq > 0) { // Send a PRACK for this provisional response. m_cseq++; PRackRequest = GetAcknowledgeRequest(sipResponse, SIPMethodsEnum.PRACK, m_cseq, null, null); await SendRequestAsync(PRackRequest).ConfigureAwait(false); } } if (CDR != null) { SIPEndPoint localEP = SIPEndPoint.TryParse(sipResponse.Header.ProxyReceivedOn) ?? localSIPEndPoint; SIPEndPoint remoteEP = SIPEndPoint.TryParse(sipResponse.Header.ProxyReceivedFrom) ?? remoteEndPoint; CDR.Progress(sipResponse.Status, sipResponse.ReasonPhrase, localEP, remoteEP); } if (UACInviteTransactionInformationResponseReceived != null) { return(await UACInviteTransactionInformationResponseReceived(localSIPEndPoint, remoteEndPoint, sipTransaction, sipResponse).ConfigureAwait(false)); } else { return(SocketError.Success); } } catch (Exception excp) { logger.LogError("Exception UACInviteTransaction_TransactionInformationResponseReceived. " + excp.Message); return(SocketError.Fault); } }
private void UACInviteTransaction_TransactionInformationResponseReceived(SIPEndPoint localSIPEndPoint, SIPEndPoint remoteEndPoint, SIPTransaction sipTransaction, SIPResponse sipResponse) { try { UACInviteTransactionInformationResponseReceived?.Invoke(localSIPEndPoint, remoteEndPoint, sipTransaction, sipResponse); if (sipResponse.StatusCode > 100 && sipResponse.StatusCode <= 199 && sipResponse.Header.RSeq > 0) { // Send a PRACK for this provisional response. SendPRackRequest(sipResponse); } if (CDR != null) { SIPEndPoint localEP = SIPEndPoint.TryParse(sipResponse.Header.ProxyReceivedOn) ?? localSIPEndPoint; SIPEndPoint remoteEP = SIPEndPoint.TryParse(sipResponse.Header.ProxyReceivedFrom) ?? remoteEndPoint; CDR.Progress(sipResponse.Status, sipResponse.ReasonPhrase, localEP, remoteEP); } } catch (Exception excp) { logger.LogError("Exception UACInviteTransaction_TransactionInformationResponseReceived. " + excp.Message); } }
public new Task <SocketError> SendProvisionalResponse(SIPResponse sipResponse) { CDR?.Progress(sipResponse.Status, sipResponse.ReasonPhrase, null, null); return(base.SendProvisionalResponse(sipResponse)); }