使用 SIPSorcery 的 PRACK 请求
PRACK Request using SIPSorcery
如何发送消息PRACK?
我给:
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}")
}
}
得到错误:
异常 CreateNonInviteTransaction。试图添加重复的 SIP 事务。
异常 SIPNonInviteClientUserAgent SendRequest 到 sip:test@sip.srv_1.com。尝试添加重复的 SIP tra
异常 UACInviteTransaction_TransactionInformationResponseReceived。试图添加重复的 SIP 事务。
谁知道?
PRACK 在 SIPSorcery SIP 实现中不受支持(它们不是主要规范的一部分,也不是很常见)。
方法是使用 uac.ServerInviteTransaction
生成基于 GetInTransactionACKRequest
的 PRACK 请求。
这个问题更好的地方是 github,如果您仍然需要,我可以相对快速地添加它。
如何发送消息PRACK?
我给:
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}")
}
}
得到错误: 异常 CreateNonInviteTransaction。试图添加重复的 SIP 事务。 异常 SIPNonInviteClientUserAgent SendRequest 到 sip:test@sip.srv_1.com。尝试添加重复的 SIP tra 异常 UACInviteTransaction_TransactionInformationResponseReceived。试图添加重复的 SIP 事务。
谁知道?
PRACK 在 SIPSorcery SIP 实现中不受支持(它们不是主要规范的一部分,也不是很常见)。
方法是使用 uac.ServerInviteTransaction
生成基于 GetInTransactionACKRequest
的 PRACK 请求。
这个问题更好的地方是 github,如果您仍然需要,我可以相对快速地添加它。