使用SIP巫术的PRACK请求



如何发送消息 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}")
}
}

获取错误:异常创建非邀请事务。尝试添加重复的 SIP 事务。 Exception SIPNonInviteClientUserAgent SendRequest to sip:test@sip.srv_1.com.尝试添加重复的 SIP tra 例外UACInviteTransaction_TransactionInformationResponseReceived。尝试添加重复的 SIP 事务。

谁知道呢?

PRACK在SIPSorcery SIP实现中不受支持(它们不是主要规范的一部分,也不是很常见(。

方法是使用uac.ServerInviteTransaction根据GetInTransactionACKRequest生成 PRACK 请求。

这个问题的更好地方是在 github 上,如果您仍然需要,我可以相对较快地添加它。

最新更新