在到达软电话之前读取SIP邀请数据包

时间:2013-12-09 16:41:29

标签: c# wpf sockets udp sip

我正在尝试创建一个wpf-app,用于读取/嗅探每次拨入我的软电话的SIP-invite(UDP)。问题是我无法连接到同一个端口。我也尝试在管理员模式下运行它。

抛出异常:

  

通常只允许使用每个套接字地址(协议/网络地址/端口)。

以下是代码:

readonly Thread _thread;
public MainWindow()
    {
        InitializeComponent();

        _thread = new Thread(ReceiveMessage) {IsBackground = true};
        _thread.Start();
    }

private void ReceiveMessage()
    {
        var udpClient = new UdpClient();
        var remoteIpEndPoint = new IPEndPoint(IPAddress.Any, 59724);
        udpClient.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
        udpClient.ExclusiveAddressUse = false;
        udpClient.Client.Bind(remoteIpEndPoint);
        while (true)
        {

            var content = udpClient.Receive(ref remoteIpEndPoint);

            if (content.Length > 0)
            {
                var message = Encoding.ASCII.GetString(content);
            }
        }
    }

感谢任何帮助。

0 个答案:

没有答案