如何在C#中保持SIPSorcery VOIP呼叫?

如何在C#中保持SIPSorcery VOIP呼叫?,c#,sip,voip,C#,Sip,Voip,我正在使用SIPSorcery dll使用C#WPF应用程序拨打和接听电话。呼叫和接收工作正常,没有任何问题。我想在我的通话中实现保持功能。我已经检查了SIPSorcery dll中的所有方法,我不确定SIPSorcery中是否有保持调用的功能。有可能在巫术中保持通话吗?如果可能,如何在windows应用程序中执行此操作?使用SIP将呼叫挂起的典型方法是发送重新邀请请求,并将a=recvonly属性添加到SDP提供中。有关SIP流的示例,请参阅音乐保留示例RFC sipsorcery代码中使用S

我正在使用SIPSorcery dll使用C#WPF应用程序拨打和接听电话。呼叫和接收工作正常,没有任何问题。我想在我的通话中实现保持功能。我已经检查了SIPSorcery dll中的所有方法,我不确定SIPSorcery中是否有保持调用的功能。有可能在巫术中保持通话吗?如果可能,如何在windows应用程序中执行此操作?

使用SIP将呼叫挂起的典型方法是发送重新邀请请求,并将a=recvonly属性添加到SDP提供中。有关SIP流的示例,请参阅音乐保留示例RFC

sipsorcery代码中使用SIP重新邀请的一个示例是第676行。

您应该基于RFC:

基本上,要保持通话,您需要使用=sendonly媒体属性发送重新邀请。在重新邀请的200 OK响应中,您应收到a=RecvoOnly

要取消挂断呼叫,您需要使用a=sendrecv发送重新邀请,并应使用a=sendrecv接收200 OK响应