10

c# を使用して単純な VoIP アプリケーションを構築しようとしているので、これが簡単な方法であることがわかりましたが、とローカルのクラスOzeki SDKを使用して SIP アカウントを登録しようとすると、常に失敗し、これがコードですSIPAccountOzeki SDKIP

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Ozeki.VoIP;
using Ozeki.VoIP.SDK;

namespace SIP_R
{
    class Program
    {
        private static ISoftPhone softphone;   // softphone object
        private static IPhoneLine phoneLine;   // phoneline object

        private static void Main(string[] args)
        {
            // Create a softphone object with RTP port range 5000-10000
            softphone = SoftPhoneFactory.CreateSoftPhone(5000, 10000);

            // SIP account registration data, (supplied by your VoIP service provider)
            var registrationRequired = true;
            var userName = "1000";
            var displayName = "1000";
            var authenticationId = "1000";
            var registerPassword = "1000";
            var domainHost = SoftPhoneFactory.GetLocalIP().ToString();
            var domainPort = 9000;

            var account = new SIPAccount(registrationRequired, displayName, userName, authenticationId, registerPassword, domainHost, domainPort);

            // Send SIP regitration request
            RegisterAccount(account);

            // Prevents the termination of the application
            Console.ReadLine();
        }

        static void RegisterAccount(SIPAccount account)
        {
            try
            {
                phoneLine = softphone.CreatePhoneLine(account);
                phoneLine.RegistrationStateChanged += sipAccount_RegStateChanged;
                softphone.RegisterPhoneLine(phoneLine);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error during SIP registration: " + ex);
            }
        }

        static void sipAccount_RegStateChanged(object sender, RegistrationStateChangedArgs e)
        {
            if (e.State == RegState.Error || e.State == RegState.NotRegistered)
                Console.WriteLine("Registration failed!");

            if (e.State == RegState.RegistrationSucceeded)
                Console.WriteLine("Registration succeeded - Online!");
        }
    }
}

何をすべきかについての助けをお願いします。

Ozeki SDK とローカル IP を使用してソフトフォン コールを発信しようとすると、エラーが発生するNatType:UDPBlocked

4

3 に答える 3

0

エラー :NatType:UDPBlocked

SDK コード:

 <member name="F:Ozeki.Network.Nat.NatType.UdpBlocked">
      <summary>
            Firewall that blocks UDP.
            </summary>
      <remarks>
            Probably no internet connection available or firewall issue.
            </remarks>
    </member>

おそらく、インターネット接続が利用できないか、ファイアウォールの問題です。

高度なアウトバウンド NAT を有効にしてみてください。デフォルトのアウトバウンド ルールを変更して、静的ポートを有効にします。アダプタを再起動します。

SDKコードが示唆するように、

問題に取り組んでいるファイアウォールとポートを確認してください

于 2015-04-25T10:19:39.210 に答える