SIP Sorcery (C#):服务器如何拒绝呼叫&接收器如何检测到服务器已拒绝呼叫

问题描述 投票:0回答:1
 SIPUserAgent objSIPUserAgent = new SIPUserAgent();
 WindowsAudioEndPoint objWindowsAudioEndPoint = new WindowsAudioEndPoint(new AudioEncoder());
 VoIPMediaSession objVoIPMediaSession = new VoIPMediaSession(objWindowsAudioEndPoint.ToMediaEndPoints());
 objVoIPMediaSession.AcceptRtpFromAny = true;

 string strDestinationAddress = strDialledNumber + gblStrDomain;
 bool blnCallResult = await objSIPUserAgent.Call(strDestinationAddress, gblStrExtentionNumber, gblStrExtentionPassword, objVoIPMediaSession);
  • 服务器正在使用上面的代码片段调用接收方。
  • 接收者收到来电通知

在这种情况下我有两个问题。

  1. 服务器如何拒绝/取消拨出电话?
  2. 接收方如何检测到呼叫被服务器拒绝/取消?
c# .net asterisk sip sip-server
1个回答
0
投票
bool result = objSIPUserAgent.HangUp();

这可以用来拒绝或取消拨出的电话。

在下面,我们可以订阅被触发的事件 OnCallRejected 呼叫被服务器拒绝

objSIPUserAgent.OnCallRejected += (sender, args) => {
    
};

也可以 OnCallTerminated 事件。当 call 被服务器取消 时触发。

objSIPUserAgent.OnCallTerminated += (sender, args) => {
    if (args.Reason == CallTerminationReason.LocalCanceled) {
        // Handle call canceled event here
    }
};

希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.