how to send a message PRACK?
I give so:
m_uac.CallRinging += (ISIPClientUserAgent uac, SIPResponse sipResponse) =>
{
if ((sipResponse.StatusCode == (int)SIPResponseStatusCodesEnum.SessionProgress ||
sipResponse.StatusCode == (int)SIPResponseStatusCodesEnum.Ringing) &&
sipResponse.Header.Require == "100rel")
{
m_uac.SendRequest(sipResponse, SIPMethodsEnum.PRACK, null, $"RAck: {sipResponse.Header.RSeq} {sipResponse.Header.CSeq} {sipResponse.Header.CSeqMethod}")
}
}
get errors: Exception CreateNonInviteTransaction. An attempt was made to add a duplicate SIP transaction. Exception SIPNonInviteClientUserAgent SendRequest to sip:test@sip.srv_1.com. An attempt was made to add a duplicate SIP tra Exception UACInviteTransaction_TransactionInformationResponseReceived. An attempt was made to add a duplicate SIP transaction.
who knows?
PRACK's aren't supported in the SIPSorcery SIP implementation (they're not part of the main specification and aren't very common).
The approach would be to use the uac.ServerInviteTransaction
to generate the PRACK request based on the GetInTransactionACKRequest
.
A better place for this question would be on github and if you still have the need I can add it relatively quickly.